name: Test on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-20.04, macos-10.15] rust-version: [stable, beta] steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust-version }} override: true - name: Build lib uses: actions-rs/cargo@v1 with: command: rustc args: --verbose --lib -- -D warnings - name: Build bin uses: actions-rs/cargo@v1 with: command: rustc args: --verbose --bin scryer-prolog -- -D warnings - name: Test uses: actions-rs/cargo@v1 with: command: test args: --verbose --all - name: Num tests uses: actions-rs/cargo@v1 continue-on-error: true with: command: test args: --verbose --all --no-default-features --features num msrv: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-20.04, macos-10.15] steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install cargo-msrv uses: baptiste0928/cargo-install@v1.1.0 with: crate: cargo-msrv - name: Verify MSRV run: cargo msrv --verify windows: runs-on: windows-latest steps: - name: Setup MSYS2 uses: msys2/setup-msys2@v2 with: update: true install: >- base-devel mingw-w64-x86_64-rust - name: Checkout sources uses: actions/checkout@v3 - name: Test on Windows run: cargo test --verbose --all