Across multiple repositories, we maintain similar CI logic for building images, linting and publishing Helm charts, validating release tags, managing CDN assets, and enforcing PR titles. Maintaining these workflows individually creates inconsistent behavior, duplicated updates, and extra overhead when rolling out action version bumps or process changes.
We should centralize the common CI functionality into reusable workflows inside the shared .github repository. Downstream repositories should then call these shared workflows instead of duplicating the same logic.
Goals:
- Reduce CI duplication across repositories.
- Improve maintainability by updating shared logic in one place.
- Ensure consistent behavior for image builds, Helm lint/publish, release automation, and PR validation.
- Support both monorepo (e.g. hriv) and single-component (e.g. sugar-suite, course-workload-estimator) repository structures.
Acceptance criteria:
- Common CI jobs are available as callable workflows in the shared .github repository.
- Downstream repositories use the shared workflows for Helm lint/publish and other centralizable CI jobs.
- Existing CI behavior is preserved, including support for monorepo components and static-site CDN flows.
- Documentation is updated to reflect the new shared workflow model.
Across multiple repositories, we maintain similar CI logic for building images, linting and publishing Helm charts, validating release tags, managing CDN assets, and enforcing PR titles. Maintaining these workflows individually creates inconsistent behavior, duplicated updates, and extra overhead when rolling out action version bumps or process changes.
We should centralize the common CI functionality into reusable workflows inside the shared .github repository. Downstream repositories should then call these shared workflows instead of duplicating the same logic.
Goals:
Acceptance criteria: