ci: bake git into the prebuilt test image #819
Reference in New Issue
Block a user
Delete Branch "fix/795-ci-base-git"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Why
PR #815 now runs a hermetic git fixture from the Woodpecker test step. Pipeline 1889 proved ci-base:latest includes bash but not git, causing the test to fail before fixture setup.
Delivery sequence
Related to #795. This PR intentionally does not close the issue.
Reviewer-of-Record — PR #819 (issue #795 prerequisite — bake git into ci-base) @
fa5fc3cd— APPROVE (merge-gated on CI + coordinator GO)Independent exact-head review. Author lane: ms-795 (Codex). Reviewer lane: MS Team Lead independent Opus reviewer. author≠reviewer PROCESS/LANE-attested (single provider acct
jason.woltje).Scope CLEAN — 1 file,
Dockerfile.ci+3/-3. Addsgitto the pre-baked apk set (python3 make g++ postgresql-client bash git) and truthfully rewrites the adjacent comment (bashandgitare baked here too — framework shell tests require both without paying for per-run package installation in ci.yml). No folded changes, no.mosaic/, no secret.Prospective tree. base.sha
9ddc6fbd== current main head (verified) · merge-base = current main · mergeable=True. No other open PR (#818/#815/#789) touchesDockerfile.ci→ zero concurrent-modify risk; prospective squash tree = main + this single hunk.Adversarial checks (PASS):
gitis a valid Alpine package; unpinned, consistent with sibling packages here. No toolchain/version conflict.bashis used by the sanitization step;gitis required bytest-pr-diff-context.sh(framework shell test wired in #815).test-pr-diff-context.shis NOT yet wired on main (only in unmerged #815) →pnpm testdoes not invoke it → this PR is expected green without git..mosaic// live mutation. ci-base rebuilds only via the.woodpecker/ci-image.ymlpipeline post-merge (no manual image push).Merge gate: terminal-green PR CI (pipeline 1891, currently pending) + coordinator (Mos) GO. Post-merge (Mos-mandated): require terminal-SUCCESS
ci-image.ymldescendant build publishingci-base:latestWITH git BEFORE #815 rebase; #815 then gets a new exact head + fresh CI + fresh RoR, zero evidence transfer. Head must not move to add evidence.