diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..97e9909 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,52 @@ +name: CI + +on: [push, pull_request] + +jobs: + test: + name: Test + runs-on: ubuntu-latest + + strategy: + matrix: + rust: + - stable + - beta + - nightly + + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + profile: minimal + override: true + + - name: Install dependencies + run: | + sudo apt-get install libssl-dev python-unittest2 + sudo pip install urllib3[secure] autobahntestsuite + + - run: cargo check + - run: cargo check --features async-tls + - run: cargo check --features async-std-runtime,async-tls + - run: cargo check --features async-std-runtime,async-native-tls + - run: cargo check --features async-std-runtime,async-tls,async-native-tls + + - run: cargo check --features tokio-runtime,tokio-native-tls + - run: cargo check --features tokio-runtime,tokio-rustls + - run: cargo check --features tokio-runtime,tokio-openssl + - run: cargo check --features tokio-runtime,async-tls,tokio-native-tls + + - run: cargo check --features gio-runtime + - run: cargo check --features gio-runtime,async-tls + + - run: cargo check --features async-std-runtime,async-tls,async-native-tls,tokio-runtime,tokio-native-tls,gio-runtime + + - run: cargo test --features async-std-runtime + + - run: echo "Running Autobahn TestSuite for client" && ./scripts/autobahn-client.sh + - run: echo "Running Autobahn TestSuite for server" && ./scripts/autobahn-server.sh