chore: consolidate dependabot updates and fix OS build CI #138
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| branches: [main, develop] | |
| jobs: | |
| build: | |
| name: Build and Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| components: rustfmt, clippy | |
| - name: Install nightly Rust toolchain (for docs generation) | |
| run: | | |
| rustup toolchain install nightly --component rust-docs-json | |
| rustup default stable | |
| - name: Cache cargo registry | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.cargo/bin/ | |
| ~/.cargo/registry/index/ | |
| ~/.cargo/registry/cache/ | |
| ~/.cargo/git/db/ | |
| target/ | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-cargo- | |
| - name: Run cargo-deny (License Compliance) | |
| uses: EmbarkStudios/cargo-deny-action@v2 | |
| with: | |
| manifest-path: engine/Cargo.toml | |
| command: check | |
| rust-version: stable | |
| - name: Format check | |
| working-directory: engine | |
| run: cargo fmt --all -- --check | |
| - name: Clippy check | |
| working-directory: engine | |
| run: cargo clippy --all-targets --all-features -- -D warnings | |
| - name: Build | |
| working-directory: engine | |
| run: cargo build --release --verbose | |
| - name: Test | |
| working-directory: engine | |
| run: cargo test --verbose | |
| - name: Verify cargo is available | |
| run: | | |
| cargo --version | |
| cargo +nightly --version | |
| # Astro 6 requires Node >=22.12.0 (see docs/package.json engines) | |
| - name: Setup Node.js for documentation build | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| cache: npm | |
| cache-dependency-path: docs/package-lock.json | |
| - name: Build documentation | |
| working-directory: docs | |
| run: | | |
| npm ci | |
| npm run build | |