Add generator/render_ondemand.py rendering a kind: ondemand pipeline whose
pre-step runs nix-estimate --json (asserts sizing.version==1), orders an
EphemeralBuilder class:ci via nix-estimate --provision ci | kubectl apply,
waits Ready, builds pinned via backend_options.kubernetes.nodeSelector
(Option B plain-worker), and reaps the CR (runs_on success+failure). Keeps
the GENERATED header + arch banner, no || true (reap uses --ignore-not-found).
Adds manifests/ondemand-release-amd64.yaml + rendered example; render is pure
and deterministic. render_thin_quartet skips kind: ondemand by design.
render_thin_quartet.py's kind=matrix rendering derived image_name from the
manifest's repo field, which silently diverges from the actually-published
image for xonsh-image (repo "xonsh-image" vs. live image "oleks/xonsh",
confirmed via the package registry). image_name is now a required, explicit
manifest field with no inference; xonsh-image and csi-s3 manifests updated
with their verified values.
entrypoint.sh's buildx-build/buildx-manifest flows always used the raw
CI_COMMIT_TAG, with no way to reproduce ci/local.sh's leading-"v" /
trailing-"-N" tag stripping. Added resolve_version() with two additive,
default-preserving settings: `version` (explicit override, wins over
CI_COMMIT_TAG when set — a no-op today since nothing sets it) and
`tag_strip_v` (opt-in normalization). Default behavior is unchanged: raw
CI_COMMIT_TAG, matching this plugin's own v1.0.x self-build tags and every
other current consumer.
xonsh-image's manifest now opts into tag_strip_v to prove the fix (verified:
resolve_version("v0.22.7") -> "0.22.7", rendered tag "0.22.7-amd64" matches
the live-consumed scheme) but is NOT wired into its actual .woodpecker/ dir
yet — migration is a separate step once both fixes are released.
oleks/ci-scripts#20
Extend render_thin_quartet.py to render the 4 single/split quartet repos
(the-eye, emdash.kotkanagrilli.fi, flake-hub, woodpecker-peek) onto the
plugin's flow: publish shape, alongside the already-done matrix kind.
Behavior diffs vs each repo's current .woodpecker files posted on #19.