name: CI on: [push, pull_request] env: CARGO_TERM_COLOR: always defaults: run: shell: bash jobs: test: name: "${{ matrix.os.name }} ${{ matrix.test.name }} (${{ matrix.toolchain }})" continue-on-error: false runs-on: ${{ matrix.os.distro }} strategy: fail-fast: false matrix: os: - { name: Linux, distro: ubuntu-latest } - { name: Windows, distro: windows-latest } - { name: macOS, distro: macOS-latest } toolchain: [nightly, stable, "1.63"] steps: - name: Checkout Sources uses: actions/checkout@v4 - name: Install Rust (${{ matrix.toolchain }}) uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.toolchain }} - name: Install Cargo Hack uses: taiki-e/install-action@cargo-hack - name: Check Feature Combinations run: cargo hack check --feature-powerset --no-dev-deps --skip _nightly - name: Run Tests run: cargo hack test --feature-powerset --skip _nightly