Skip to content

chore: consolidate dependabot updates and fix OS build CI #138

chore: consolidate dependabot updates and fix OS build CI

chore: consolidate dependabot updates and fix OS build CI #138

Workflow file for this run

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