chore: rebuild every template-owned file from the docker baseline #58
Loading…
Reference in a new issue
No description provided.
Delete branch "template-rebuild"
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?
Template rebuild against
ModernLeft/templatesat7cf0466. CI green on the branch head.Layers applied
common/) —.editorconfig,.gitignore,.prettierignore,.forgejo/renovate.json,CLAUDE.md,LICENSE, and the zero-byteAGENTS.md/README.mddocker/) —.dockerignore,.hadolint.yaml,Makefile, and the workflowscode-quality.yml,test-build.yml,build-version.yml,publish.ymlcommon-versioning+common-versioning-docker) —pr-bump-preview.yml,cz.tomlPlaceholders substituted:
<image>→athena-archive-ci,<owner>→modernleft. The commented Docker Hub block inpublish.ymlwas dropped rather than left carrying a live<dockerhub-owner>token; this repo publishes only to the Forgejo registry.The one file not replaced
Dockerfile— kept as the deliverable rather than overwritten by the layer's debian + tini baseline, then brought up to the layer's conventions: long-form apt flags, 4-space continuations, and the baseline'stitle/vendorlabels beside the existingsource/description/licenses.It also picked up three changes beyond the rebuild: the base moved to
general-ci:0.6.0,USERbecame fully numeric, and theUV_PYTHON/uv python installpin was dropped because 0.6.0 already ships exactly 3.14.6 (uv python listshows it installed in the base). Thedescriptionlabel lost its "pinned Python" claim to match.AGENTS.mdandREADME.mdwere emptied to match the shared layer. Their prior content is recoverable frommain.Attributed breakage and its fix
Run 4109 failed: hadolint
DL3066 info: Non-numeric user-idonUSER rootandUSER appuser, exit 1.Owned by the
dockerlayer'scode-quality.yml, via a linter version change. The displacedchecks.ymlpinnedHADOLINT_VERSION: v2.14.0and curled that binary;code-quality.ymlcalls thehadolintinside themodernleft-general-ciimage, which ishadolint/hadolint:v2.15.0-alpine. Verified: 2.14.0 exits 0 on this Dockerfile, 2.15.0 exits 1.This is not specific to this repo. The
dockerlayer's own baseline Dockerfile ends inUSER app, and its.hadolint.yamlignores only DL3008/DL3018/DL4006 — so a greenfield docker project scaffolded from the template fails its first CI run the same way. Worth fixing upstream.Fixed here as
USER 0andUSER 1001:1001, matching whatgeneral-ciitself does. The uid was read from the base image rather than assumed — it is1001, not the 1000 a guess would give, becausegeneral-cibuilds on node and thenodeuser holds 1000. The built image was verified to still reportuid=1001(appuser) gid=1001(appuser).Divergences ruled on
runs-on: docker→ubuntu-latestubuntu-latestworks on this deploymentactions/cacheon.buildx-cache→type=ghasending cache export ... doneon every run. Restore: run 4125 logged#8 CACHEDfor the apt layer and finished in 22s against 98s cold. The earlier misses were all pushes that changed a layer at or above the apt steprenovate.jsondockerfile.enabledoverrideconfig:recommended, which already enables that managerchecks.ymlhadolint v2.14.0 pinVerification
71b1a4dc687eed9b75f994ace77c6941125Known gap, not fixed here
make lintcalls the host hadolint while CI calls the image's, so the two versions can disagree and a green local gate is not proof CI will pass. To lint at the CI version:Not merged, and not to be merged by automation — merging is the moment a release becomes possible.
Commitizen bump preview
No commits in this PR are eligible for a version bump.