name: RustBox CI on: push: pull_request: jobs: rustbox: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@1.88.0 with: components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 with: workspaces: . - name: Reject TypeScript sources run: '! find . -type f \( -name "*.ts" -o -name "*.tsx" \) -print -quit | grep -q .' - name: Install static-validator dependency run: python3 -m pip install --disable-pip-version-check 'PyYAML>=6,<7' - name: Static release validation run: python3 scripts/validate-release-static.py - name: Generate dependency lockfile run: cargo generate-lockfile - name: Format run: cargo fmt --all -- --check - name: Test run: cargo test --locked - name: Clippy run: cargo clippy --locked --all-targets -- -D warnings - name: Build RustBox release run: cargo build --release --locked - name: Version run: ./target/release/rustbox --version