Why
There is a Jenkins deployment pipeline, but no checked-in GitHub Actions workflow for PR/push validation. Local checks already reveal dashboard lint failures and dependency advisories, so a visible CI gate would catch regressions before deployment.
Evidence
.github/ has no workflow files.
Jenkinsfile builds and deploys Docker images on push, but does not run dashboard lint/audit, Python compile checks, or backend tests before deploy.
- Local checks:
pnpm build passes.
pnpm lint fails.
pnpm audit --audit-level moderate reports advisories.
python3 -m compileall ... passes for current Python scripts.
cargo is not available in this shell, so Rust checks were not verified locally.
Proposed work
- Add a workflow with jobs for:
- dashboard install, lint, build, audit
- Rust
cargo fmt --check, cargo clippy, cargo test
- Python compile/unit tests once pytest coverage exists
- dependency/security audits
- Keep deployment in Jenkins if desired, but make correctness checks visible on GitHub.
- Cache pnpm and cargo dependencies.
Acceptance criteria
- GitHub PRs get visible pass/fail checks.
- The workflow catches current lint/audit failures once enabled.
- Docs mention which checks are required before deployment.
Why
There is a Jenkins deployment pipeline, but no checked-in GitHub Actions workflow for PR/push validation. Local checks already reveal dashboard lint failures and dependency advisories, so a visible CI gate would catch regressions before deployment.
Evidence
.github/has no workflow files.Jenkinsfilebuilds and deploys Docker images on push, but does not run dashboard lint/audit, Python compile checks, or backend tests before deploy.pnpm buildpasses.pnpm lintfails.pnpm audit --audit-level moderatereports advisories.python3 -m compileall ...passes for current Python scripts.cargois not available in this shell, so Rust checks were not verified locally.Proposed work
cargo fmt --check,cargo clippy,cargo testAcceptance criteria