Skip to content

docker.yml: manual run can rebuild and archive an existing release tag - #44

Merged
annefou merged 1 commit into
mainfrom
feat/docker-archive-existing-tag
Oct 11, 2026
Merged

annefou merged 1 commit into
mainfrom
feat/docker-archive-existing-tag

Conversation

@annefou

@annefou annefou commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

When a release's Zenodo image upload fails, there was no correct way to retry it:

  • a manual run (workflow_dispatch) built main, labelled the image latest, and — if the upload succeeded — published a permanent Zenodo record with version latest;
  • re-creating the release would mint a new version DOI for the source.

This adds an optional tag input to the manual trigger. With tag: v0.1.0 the job:

  • checks out v0.1.0;
  • tags the image 0.1.0 / 0.1 / sha-… exactly as the release run would;
  • does not move latest back to the old release;
  • archives it on Zenodo with version v0.1.0.

Without the input, behaviour is unchanged. Release runs are unchanged.

Checked: YAML parses, actionlint clean, template tests pass. First use: retrying the failed image upload of annefou/logrono-vulnerable-room-to-green v0.1.0 (together with #43, so a failure will now say why).

When a release's Zenodo image upload fails there was no correct way to
retry: a manual run built main, labelled the image 'latest' and, if the
upload succeeded, published a permanent Zenodo record with version
'latest'. Re-creating the release would mint a new source DOI.

workflow_dispatch now takes an optional 'tag'. With it, the job checks out
that tag, gives the image the same semver tags and Zenodo version label as
the release run, and leaves 'latest' alone. Without it, behaviour is
unchanged.
@annefou
annefou merged commit 2b33463 into main Oct 11, 2026
3 checks passed
@annefou
annefou deleted the feat/docker-archive-existing-tag branch October 11, 2026 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant