name: Run tests on: push: branches: [main, dev] pull_request: branches: [main] env: CARGO_TERM_COLOR: always jobs: check-rust-compat: runs-on: ubuntu-latest strategy: matrix: rust_version: ["1.78", "1.83"] steps: - name: rustup toolchain install ${{ matrix.rust_version }} run: | rustup toolchain install ${{ matrix.rust_version }} - uses: actions/checkout@v4 - run: rustup override set ${{ matrix.rust_version }} - run: rustup component add rustfmt - name: cargo check run: cargo check - name: cargo fmt --check run: cargo fmt --check test: strategy: matrix: os: [windows-latest, macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - run: rustup toolchain install stable --profile minimal - uses: Swatinem/rust-cache@v2 with: prefix-key: v1 - name: Run tests if: ${{ matrix.os == 'windows-latest' }} run: cargo test --workspace - name: Run tests if: ${{ matrix.os == 'macos-latest' }} run: ulimit -n unlimited && cargo test --workspace - name: Run tests if: ${{ matrix.os == 'ubuntu-latest' }} run: cargo test