Skip to content

ci: speed up pipeline with parallel job execution and caching - #353

Open
JamesEjembi wants to merge 1 commit into
AetherEdu:mainfrom
JamesEjembi:fix/issue-278-ci-optimization
Open

ci: speed up pipeline with parallel job execution and caching#353
JamesEjembi wants to merge 1 commit into
AetherEdu:mainfrom
JamesEjembi:fix/issue-278-ci-optimization

Conversation

@JamesEjembi

Copy link
Copy Markdown
Contributor

Optimizes the CI pipeline to reduce total pipeline time and improve developer productivity.

Changes

  • Path-based change detection: Skip contract/backend/frontend jobs when no relevant files change
  • Concurrency groups: Auto-cancel redundant in-progress runs when new pushes arrive
  • Test matrix splitting: Contract tests split into unit and integration groups running in parallel
  • Separate test jobs: Backend tests run in a separate job after build (enables parallel build)
  • Cargo-audit caching: Binary cached separately to avoid re-downloading on every run
  • Build output caching: Backend and frontend build artifacts cached for faster rebuilds
  • Cache restore-keys: Multiple fallback keys for better cache hit rates
  • Enhanced Rust toolchain: clippy and rustfmt installed in single step
  • CI status aggregation: Final status check job for clear pass/fail reporting
  • fail-fast: false: Matrix tests continue on failure for complete results

Closes #278

Optimize CI pipeline to reduce total pipeline time:

- Add path-based change detection (skip jobs when no relevant files change)
- Add concurrency group with auto-cancel for redundant runs
- Split contract tests into unit/integration matrix for parallel execution
- Add separate test jobs for backend after build
- Cache cargo-audit binary separately with version pinning
- Add build output caching for backend
- Multiple cache restore-keys for better hit rate
- Add CI status check job for aggregated results
- Use fail-fast: false on test matrix for complete results
- Cache Rust toolchain components (clippy, rustfmt) in setup

Target: CI completes in under 10 minutes for typical changes.

Closes AetherEdu#278
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Infrastructure] Speed up CI pipeline with parallel job execution and caching

1 participant