[Feature]: Manifest-driven integration CI matrix + prebuilt stack images on GHCR
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- docker, github-actions, python
- Domain
- build-system, ci-cd, devops, testing-qa
Research direction
Start by reading the existing integration.yml scaffold, stacks.yml, ci.yml, and the three prototype workflows. Trace how the manifest should produce the stack/config/version matrix, then verify compose execution, log artifacts, GHCR image reuse, workflow_call behavior, and the no-workflow-lines stack addition against the Definition of Done.
Written by the indexing model from the issue text.
Description
User Story
As an interCEde CI maintainer,
I want one manifest-driven integration workflow and prebuilt backend images,
So that adding a stack is a stacks.yml entry (no workflow edits) and PR CI pulls images instead
of spending 5–10 min rebuilding RPM-based images per job.
Feature Description
Consolidation of the three harmonized prototype stacks (IC-ADR-002 §3, §5):
- Flesh out
integration.ymlfrom the scaffold skeleton: amatrixjob readsstacks.yml
and emits the{stack × config × version}JSON; per-stack jobs run
docker compose … up --wait→pytest -m "<markers>" --stack=<id> --config=<name>
(orcompose execforexec_in_containerstacks);fail-fast: false; on failure upload
docker compose logs+ backend log dirs as artifacts. Reusable viaworkflow_callfrom
ci.yml, required for merge. build-imagesworkflow → GHCR: build and push
ghcr.io/diracgrid/intercede-testenv/{arc,slurm,htcondor-ce}:<version>when Dockerfiles or
pinnedARGs change, plus a weekly rebuild for base-image updates. PR CI pulls by digest.
Daemons foreground under a minimal supervisor — never systemd (§3).
Definition of Done
-
integration.ymlgenerates its matrix fromstacks.yml; the three bespoke prototype
workflows are deleted - Each stack runs as its own job; failure uploads compose + daemon logs as artifacts
-
build-imagesworkflow pushes pinned-ARGimages to GHCR; PR CI pulls, never builds - Integration workflow is
workflow_call-reusable and required for merge - Adding a stack = manifest entry + files (verified by adding no workflow lines for one stack)
Alternatives Considered
- Per-stack bespoke workflows (status quo of the prototypes) — O(stacks) workflow maintenance,
drift between them; rejected by IC-ADR-002 §5. - Rebuilding images in every PR job — 5–10 min × jobs wasted; rejected by §3.
- One mega-compose job — shared fate, poor attribution; rejected (ADR Rejected Ideas).
Related Issues
Additional Context
- Dominant language
- Python
- Stars
- 3
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DIRACGrid/intercede
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 28/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
All issues in DIRACGrid/intercede
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
EleutherAI/lm-evaluation-harness#4207 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/clickhouse-connect#1057 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
open-telemetry/sig-end-user#406 ·
-
bug ci good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100