Skip to content

ci: chain publish + artifact registration into the release run - #41

Merged
sebasnallar merged 2 commits into
mainfrom
feat/chained-release-pipeline
Aug 26, 2026
Merged

ci: chain publish + artifact registration into the release run#41
sebasnallar merged 2 commits into
mainfrom
feat/chained-release-pipeline

Conversation

@sebasnallar

Copy link
Copy Markdown
Contributor

Summary

First consumer of nullplatform/actions-nullplatform#93 — fixes the release pipeline at the root:

  • Why releases never published their image: release-please creates tags with GITHUB_TOKEN; GitHub never fires workflows from bot-token events, so publish-image.yml (on: push: tags) stayed silent. The delete/re-push workaround triggered it once but flipped v0.3.0 and v0.3.1 into Draft (deleting a tag drafts its release; re-pushing does not undo it).
  • What changes: release.yml now calls the chained release-publish-oci workflow — release-please → docker build+push ECR → np artifact create → release finalized with an Artifact section (image, digest, pinned image@digest, artifact id) and force-published. One run, no cross-workflow trigger, no PAT.
  • publish-image.yml becomes a workflow_dispatch-only fallback (input: existing tag) for backfills/recovery.

Behavior preserved from the old caller: release-type: terraform-module, README version updates on.

Merge order

Merge actions-nullplatform#93 first (this references release-publish-oci.yml@main).

Test plan

  • YAML validated.
  • After merge: next release-please PR merge should produce a published (non-draft) release whose body ends with the Artifact table, plus the ECR image and registered artifact.

🤖 Generated with Claude Code

The tag-push publish workflow never fired on release: release-please
creates tags with GITHUB_TOKEN and GitHub does not trigger workflows
from bot-token events. The manual delete/re-push workaround flipped
the affected releases (v0.3.0, v0.3.1) into Draft state.

Adopt actions-nullplatform's release-publish-oci: release-please,
docker build+push to ECR, np artifact registration, and release
finalize (artifact metadata appended to the body, release force-
published) all chained in one run. publish-image.yml becomes a
workflow_dispatch-only fallback for backfilling existing tags.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
release-publish-oci now accepts existing_tag (skip release-please,
publish + finalize an already-created tag), which covers everything
publish-image.yml's manual fallback did — and also writes the
artifact metadata into the release, which the fallback never did.
One workflow, one path; workflow_dispatch exposes the recovery mode.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sebasnallar
sebasnallar merged commit 2b4113a into main Aug 26, 2026
5 checks passed
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