Skip to content

chore: bump to v2.10.0 (#338) #648

chore: bump to v2.10.0 (#338)

chore: bump to v2.10.0 (#338) #648

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
jobs:
# Check that embedded files are in sync before other jobs
# This catches packaging issues early (before they break cargo install)
check-embedded-files:
name: Check embedded files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check embedded files are in sync
run: ./scripts/sync-embedded-files.sh check
# Format check: no compile needed, runs in seconds
fmt:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Check formatting
run: ./scripts/ci-rust-gate.sh --skip-embedded-files --skip-clippy --skip-tests --skip-hooks-bdd --skip-mock-e2e
test:
name: Test
runs-on: ubuntu-latest
needs: check-embedded-files
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev pkg-config
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- name: Cache cargo
uses: Swatinem/rust-cache@v2
- name: Run shared Rust CI gate
run: ./scripts/ci-rust-gate.sh --skip-embedded-files --skip-format
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: test-artifacts
path: |
.e2e-tests/report.md
.artifacts/hooks-bdd/
if-no-files-found: warn
retention-days: 30
# Clippy and Format checks also run in lint.yml on fork PRs
# (pull_request_target, no secrets needed for fmt-only)
web-tests:
name: Web Tests
runs-on: ubuntu-latest
needs: check-embedded-files
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm ci
- run: npm run build
- run: npm run test:server
- run: npm run test -w @ralph-web/dashboard
# Hooks mutation testing is expensive (~20min). Run locally with:
# ./scripts/hooks-mutation-gate.sh
# Verify the crate can be packaged (catches include_str! issues)
# Only runs on PRs - main pushes are either merges (already verified) or
# version bumps (Release workflow handles publishing with correct deps)
package-check:
name: Package check
runs-on: ubuntu-latest
needs: [check-embedded-files, test]
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo
uses: Swatinem/rust-cache@v2
- name: Check ralph-cli packages correctly
run: |
# This will fail if include_str! references files outside the crate
# Use --list to validate without resolving crates.io dependencies
cargo package -p ralph-cli --allow-dirty --list > /dev/null
echo "Package check passed - all embedded files are included"