name: Rustlings Tests on: push: branches: [main] pull_request: branches: [main] env: CARGO_TERM_COLOR: always jobs: clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: cargo clippy -- --deny warnings fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: DavidAnson/markdownlint-cli2-action@v16 with: globs: "exercises/**/*.md" - name: Run cargo fmt run: cargo fmt --all --check - name: Run rustfmt on solutions run: rustfmt --check --edition 2021 --color always solutions/**/*.rs test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v4 - uses: swatinem/rust-cache@v2 - name: Run cargo test run: cargo test --workspace dev-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: swatinem/rust-cache@v2 - name: Run rustlings dev check run: cargo run -- dev check --require-solutions