Skip to content

fix(ci): retag loaded candidate images before push#282

Merged
c-vigo merged 1 commit intorelease/0.3.0from
bugfix/281-release-candidate-publish-fix
Mar 12, 2026
Merged

fix(ci): retag loaded candidate images before push#282
c-vigo merged 1 commit intorelease/0.3.0from
bugfix/281-release-candidate-publish-fix

Conversation

@c-vigo
Copy link
Contributor

@c-vigo c-vigo commented Mar 12, 2026

Description

Fix the candidate release publish failure where release.yml loads images tagged with base version (X.Y.Z-arch) but attempts to push candidate tags (X.Y.Z-rcN-arch) that do not exist locally.

This change retags each loaded architecture image to the candidate tag before push and documents the fix in the 0.3.0 changelog section.

Type of Change

  • feat -- New feature
  • fix -- Bug fix
  • docs -- Documentation only
  • chore -- Maintenance task (deps, config, etc.)
  • refactor -- Code restructuring (no behavior change)
  • test -- Adding or updating tests
  • ci -- CI/CD pipeline changes
  • build -- Build system or dependency changes
  • revert -- Reverts a previous commit
  • style -- Code style (formatting, whitespace)

Modifiers

  • Breaking change (!) -- This change breaks backward compatibility

Changes Made

  • .github/workflows/release.yml
    • Add SOURCE_IMAGE_TAG="$REPO:$BASE_VERSION-$arch" in Load and push images
    • Retag loaded image with docker tag "$SOURCE_IMAGE_TAG" "$IMAGE_TAG" before docker push
  • CHANGELOG.md
    • Add a ### Fixed entry under ## [0.3.0] - TBD describing the candidate retag fix for #281

Changelog Entry

Fixed

  • Release candidate publish retags loaded images before push (#281)
    • release.yml now tags ghcr.io/vig-os/devcontainer:X.Y.Z-arch artifacts as X.Y.Z-rcN-arch before docker push in candidate runs
    • Prevents publish failures caused by pushing candidate tags that were never created locally after docker load

Testing

  • Tests pass locally (just test)
  • Manual testing performed (describe below)

Manual Testing Details

  • Ran just precommit successfully (includes YAML/workflow checks and sync-manifest checks).
  • Triggered one candidate release run during validation by mistake, then cancelled it before publish completion.

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly (edit docs/templates/, then run just docs)
  • I have updated CHANGELOG.md in the [Unreleased] section (and pasted the entry above)
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Additional Notes

Target branch for this PR is release/0.3.0 (release hotfix flow for issue #281).

Refs: #281

@c-vigo c-vigo self-assigned this Mar 12, 2026
@c-vigo c-vigo requested a review from Copilot March 12, 2026 17:34
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes the release candidate publish job in the release workflow by ensuring the locally loaded (base-version) images are retagged to the candidate version tag before attempting to push them to GHCR. This aligns the local Docker tags created by docker load with the tags the workflow later pushes and uses for multi-arch manifests.

Changes:

  • Retag each architecture image from ghcr.io/vig-os/devcontainer:<base>-<arch> to ghcr.io/vig-os/devcontainer:<publish>-<arch> before docker push in release.yml.
  • Document the fix in the 0.3.0 changelog under “Fixed”.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.github/workflows/release.yml Retags loaded base-version images to candidate publish tags prior to pushing, preventing “tag does not exist locally” failures.
CHANGELOG.md Adds a 0.3.0 “Fixed” entry describing the RC publish retagging fix (issue #281).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@c-vigo c-vigo merged commit 619cc84 into release/0.3.0 Mar 12, 2026
13 of 14 checks passed
@c-vigo c-vigo deleted the bugfix/281-release-candidate-publish-fix branch March 12, 2026 17:38
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.

2 participants