1name: CI 2 3on: 4 push: 5 branches: 6 - master 7 pull_request: {} 8 9jobs: 10 check: 11 runs-on: ${{ matrix.os }} 12 strategy: 13 matrix: 14 os: [ubuntu-latest, macOS-latest, windows-latest] 15 rust: [stable] 16 17 env: 18 RUSTFLAGS: "-D warnings" 19 20 steps: 21 - uses: hecrj/setup-rust-action@master 22 with: 23 rust-version: ${{ matrix.rust }} 24 - uses: actions/checkout@master 25 - name: Install rustfmt 26 run: rustup component add rustfmt 27 - name: Install cargo-hack 28 run: cargo install cargo-hack 29 - name: Check fmt 30 run: cargo fmt -- --check 31 - name: Check features 32 run: cargo hack check --all --ignore-private --each-feature --no-dev-deps 33 - name: Check all targets 34 run: cargo check --all --all-targets --all-features 35 36 deny-check: 37 name: cargo-deny check 38 runs-on: ubuntu-latest 39 steps: 40 - uses: actions/checkout@v1 41 - uses: EmbarkStudios/cargo-deny-action@v1 42 43 test: 44 runs-on: ${{ matrix.os }} 45 strategy: 46 matrix: 47 os: [ubuntu-latest, macOS-latest, windows-latest] 48 rust: [stable] 49 50 env: 51 RUSTFLAGS: "-D warnings" 52 53 steps: 54 - uses: hecrj/setup-rust-action@master 55 with: 56 rust-version: ${{ matrix.rust }} 57 - name: Install rustfmt 58 run: rustup component add rustfmt 59 - uses: actions/checkout@master 60 - name: Run tests 61 run: cargo test --all --all-features 62 63 interop: 64 name: Interop Tests 65 runs-on: ${{ matrix.os }} 66 strategy: 67 matrix: 68 os: [ubuntu-latest, macOS-latest, windows-latest] 69 rust: [stable] 70 71 env: 72 RUSTFLAGS: "-D warnings" 73 74 steps: 75 - uses: hecrj/setup-rust-action@master 76 with: 77 rust-version: ${{ matrix.rust }} 78 - name: Install rustfmt 79 run: rustup component add rustfmt 80 - uses: actions/checkout@master 81 - name: Run interop tests 82 run: ./interop/test.sh 83 shell: bash 84 - name: Run interop tests with Rustls 85 run: ./interop/test.sh --use_tls tls_rustls 86 shell: bash 87