name: CI on: [push, pull_request] env: VCPKGRS_DYNAMIC: 1 jobs: build_and_test: strategy: fail-fast: false matrix: toolchain: - x86_64-pc-windows-msvc - x86_64-pc-windows-gnu - i686-pc-windows-msvc - x86_64-apple-darwin version: - stable - nightly include: - toolchain: x86_64-pc-windows-msvc os: windows-latest arch: x64 - toolchain: x86_64-pc-windows-gnu os: windows-latest - toolchain: i686-pc-windows-msvc os: windows-latest arch: x86 - toolchain: x86_64-apple-darwin os: macOS-latest name: ${{ matrix.version }} - ${{ matrix.toolchain }} runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@master - name: Install ${{ matrix.version }} uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.version }}-${{ matrix.toolchain }} default: true - name: Install OpenSSL if: matrix.toolchain == 'x86_64-pc-windows-msvc' || matrix.toolchain == 'i686-pc-windows-msvc' run: | vcpkg integrate install vcpkg install openssl:${{ matrix.arch }}-windows - name: check nightly if: matrix.version == 'nightly' uses: actions-rs/cargo@v1 with: command: check args: --all --benches --bins --examples --tests - name: check stable if: matrix.version == 'stable' uses: actions-rs/cargo@v1 with: command: check args: --all --bins --examples --tests - name: tests if: matrix.toolchain != 'x86_64-pc-windows-gnu' uses: actions-rs/cargo@v1 with: command: test args: --all --all-features -- --nocapture - name: tests on x86_64-pc-windows-gnu if: matrix.toolchain == 'x86_64-pc-windows-gnu' uses: actions-rs/cargo@v1 with: command: test args: --all -- --nocapture