name: CI on: [push, pull_request] jobs: fmt: name: Format runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@nightly with: components: rustfmt - run: cargo fmt --all --check test: name: Test runs-on: ubuntu-latest strategy: matrix: rust: - stable steps: - name: Checkout sources uses: actions/checkout@v3 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - name: Install dependencies run: sudo apt-get install libssl-dev - name: Install cargo-hack uses: taiki-e/install-action@cargo-hack - name: Check run: cargo hack check --feature-powerset --all-targets - name: Test run: cargo test --release test-msvr: name: Test MSRV runs-on: ubuntu-latest strategy: matrix: rust: - 1.60.0 steps: - name: Checkout sources uses: actions/checkout@v3 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - name: Install dependencies run: sudo apt-get install libssl-dev - name: Check run: cargo check autobahn: name: Autobahn tests runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta - nightly steps: - name: Checkout sources uses: actions/checkout@v3 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - name: Running Autobahn TestSuite for client run: ./scripts/autobahn-client.sh - name: Running Autobahn TestSuite for server run: ./scripts/autobahn-server.sh