name: Check on: push: branches: [main] paths-ignore: - website - .github/workflows/website.yml - '*.md' pull_request: branches: [main] paths-ignore: - website - .github/workflows/website.yml - '*.md' env: CARGO_TERM_COLOR: always jobs: clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Clippy run: cargo clippy -- --deny warnings fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: rustfmt run: cargo fmt --all --check test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v6 - uses: swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 - name: cargo test env: RUST_BACKTRACE: 1 run: cargo test --workspace dev-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 - name: rustlings dev check run: cargo dev check --require-solutions