render_thin_quartet.py derives wrong image_name (uses manifest repo field) #22
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
Why: render_thin_quartet.py infers image_name from the manifest's repo field, causing migrated pipelines to push to an empty image path and orphan the real published image.
Problem:
repo: xonsh-image→ generator derivesimage_name: oleks/xonsh-imageoleks/xonsh(from ci/local.sh's IMAGE_REPO default)Acceptance:
Links:
Closing — this is a generator/manifest-only fix, no plugin republish needed.
generator/render_thin_quartet.py:kind: matrixrendering now requires an explicitimage_namefield in the manifest (manifest.get("image_name"), hardSystemExitif missing) — no moref"git.oleks.space/oleks/{repo}"inference from the repo/dir field.manifests/xonsh-image.yaml:image_name: git.oleks.space/oleks/xonsh— verified against the live Gitea package registry (package_read list_versions, ids 4310-4315: tags0.22.7,0.22.7-amd64,0.22.7-arm64,latestall under package namexonsh, published by xonsh-image's own pipeline #9).manifests/csi-s3.yaml:image_name: git.oleks.space/oleks/csi-s3-driver— matchesci/local.sh'sIMAGE_REPOdefault; no live package exists yet under this name to cross-check (csi-s3's--publishpath has never run in CI — confirmed viapipeline_listreturning empty), noted in the manifest comment. csi-s3 stays excluded from #17 regardless (too bespoke, per #20's audit).kind: single/kind: split): none of them have animage_namefield or use the genericbuildx-build/buildx-manifestflow at all — they invokeci/local.sh/nix run .#publish-*viasettings.run(flow: publish), which handles image naming internally in the script itself. So this bug class genuinely doesn't apply to them — confirmed, not assumed.render_manifest()parameter Pyright flagged as unused (line 114 in the pre-fix file) is real work now (manifest.get("tag_strip_v"), oleks/ci-scripts#21) —pyright generator/render_thin_quartet.pyreports 0 warnings.Verified by re-rendering all 6 manifests to a scratch
--outdirectory (not xonsh-image's/csi-s3's actual.woodpecker/) and confirming the generatedbuild-*.yaml/manifest.yamlcarry the correctimage_name:values. Committed as44d6ba9.