Description
.github/workflows/ci.yml only builds and tests the Rust workspace (engine-core). It never runs engine-bridge or dashboard — meaning a broken npm test, npm run build, or npm run lint in either sub-project can merge to main with a fully green CI check.
Affected Component
.github/workflows/ci.yml
Current Behavior
The single build-and-test job runs:
- run: cargo build --target wasm32-unknown-unknown --release
- run: cargo test
No step installs Node, runs npm install, or invokes npm run build / npm test / npm run lint in engine-bridge/ or dashboard/.
Expected Behavior
CI should fail if engine-bridge or dashboard fail to build, fail their test suite, or fail lint — the same bar already applied to engine-core.
Steps to Reproduce
- Open
.github/workflows/ci.yml.
- Note the
jobs.build-and-test.steps list only references cargo.
- Break
engine-bridge/package.json's test script (e.g. point it at a nonexistent file) and push — CI stays green.
Root Cause
The CI workflow was scaffolded for the Rust crate only and never extended when engine-bridge and dashboard were added to the repo.
Requirements
- MUST add a job (or steps) that runs
npm ci && npm run build && npm test && npm run lint in engine-bridge/.
- MUST add the same for
dashboard/.
- SHOULD run the two Node jobs in parallel with the Rust job to avoid slowing down CI.
Suggested Fix
Create branch fix/ci-add-bridge-dashboard-jobs and add two additional jobs to .github/workflows/ci.yml (engine-bridge and dashboard), each using actions/setup-node@v4 followed by npm ci, npm run build, npm test, and npm run lint, scoped via working-directory.
Acceptance Criteria
Definition of Done
Description
.github/workflows/ci.ymlonly builds and tests the Rust workspace (engine-core). It never runsengine-bridgeordashboard— meaning a brokennpm test,npm run build, ornpm run lintin either sub-project can merge tomainwith a fully green CI check.Affected Component
.github/workflows/ci.ymlCurrent Behavior
The single
build-and-testjob runs:No step installs Node, runs
npm install, or invokesnpm run build/npm test/npm run lintinengine-bridge/ordashboard/.Expected Behavior
CI should fail if
engine-bridgeordashboardfail to build, fail their test suite, or fail lint — the same bar already applied toengine-core.Steps to Reproduce
.github/workflows/ci.yml.jobs.build-and-test.stepslist only referencescargo.engine-bridge/package.json'stestscript (e.g. point it at a nonexistent file) and push — CI stays green.Root Cause
The CI workflow was scaffolded for the Rust crate only and never extended when
engine-bridgeanddashboardwere added to the repo.Requirements
npm ci && npm run build && npm test && npm run lintinengine-bridge/.dashboard/.Suggested Fix
Create branch
fix/ci-add-bridge-dashboard-jobsand add two additional jobs to.github/workflows/ci.yml(engine-bridgeanddashboard), each usingactions/setup-node@v4followed bynpm ci,npm run build,npm test, andnpm run lint, scoped viaworking-directory.Acceptance Criteria
engine-bridge's ordashboard's build/tests/lint fails CI.engine-core,engine-bridge,dashboard) are required status checks onmain.main.Definition of Done
main.