chore(release): promote v1.6.2-rc.1 -> v1.6.2 - #3904
Merged
Conversation
Signed-off-by: cozystack-ci[bot] <274107086+cozystack-ci[bot]@users.noreply.github.com>
myasnikovdaniil
added a commit
that referenced
this pull request
Aug 19, 2026
Fixes the false `promotion changed the container repository/digest set` that blocks #3904. `normalized_refs()` in `hack/verify-promoted-packages.sh` gives a host-less ref a repository equal to its own tag. `hack/lib/image-refs.sh` emits two entries per shape-3 map, the correctly joined ref plus shape 1's recursive scrape of the bare `tag: <tag>@sha256:...` scalar, and on that bare scalar `repo="${image%:*}"` is a no-op because there is no `/` and no `:` in it. Promotion rewrites exactly those tags, so `v1.6.2-rc.1` to `v1.6.2` shows up as six changed repositories whose digests are identical on both sides. `promote-retag.sh` never hits this because it drops host-less refs through its ownership filter, the verifier had no equivalent. Host-less refs now compare on digest alone, which is the whole of the container identity such a ref carries. Checked against the real published artifacts: before the fix 61 entries each side differing by those six pairs, after it 60 each side with the sets equal and 48 container digests identical. Two things this deliberately does not do, both written as comments at the fix. Not dropping host-less refs outright, because `packages/system/kuberture/values.yaml` carries an `image:` map with a `tag:` and no `repository:`, so shape 1 is the only rule that ever sees its digest and a drop would silently stop proving it unchanged. And not reusing `promote-retag.sh`'s `${REGISTRY}/` ownership filter, because the verify job's `REGISTRY` names the private build registry while both artifacts under comparison live on the public one, so that filter drops all 48 refs, and the emptiness guard above tests the raw collection rather than the filtered set, so the check would pass by comparing two empty sets. Second commit adds the fixture that was missing. The existing suite writes a host-bearing string and exercises a passing rc to stable rewrite, so it read as coverage while never building a shape-3 split map, which the library itself calls the dominant shape. Reverting the fix reddens the new case on the digest-set assertion, and replacing the fix with an outright skip of host-less refs makes the verifier exit 0 on a genuinely changed digest. Once this is on `release-1.6` the check on #3904 re-runs against this copy, so no `rc.2` re-cut is needed. `main` carries the same script and wants the same fix.
Signed-off-by: cozystack-ci[bot] <274107086+cozystack-ci[bot]@users.noreply.github.com>
Signed-off-by: cozystack-ci[bot] <274107086+cozystack-ci[bot]@users.noreply.github.com>
cozystack-ci
Bot
force-pushed
the
release-1.6.2
branch
from
August 19, 2026 07:31
ebd1858 to
00dd949
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promotes
v1.6.2-rc.1to stablev1.6.2without rebuilding containers. Their digests remain bit-for-bit what passed rc e2e; the tag-rewritten packages tree is re-serialized as a temporary OCI candidate and pinned here by digest. On merge, pull-requests-release.yaml verifies that candidate against this tree before creating the write-oncev1.6.2tag, retagging the candidate and container digests tov1.6.2(+:latestwhen this is the newest stable), publishing the stable cozy-installer chart, and publishing the release. Do NOT squash-merge (decision B): the stable tag must attach to a real merge commit.v1.6.2-rc.1.ℹ️ E2E already ran against the immutable rc, so this promote PR does not run E2E by default. A maintainer may add the
full-e2elabel to run the full suite again.✅ Includes
docs/changelogs/v1.6.2.md, which finalize uses verbatim as the published release body.✅ Website docs PR opened/refreshed on
cozystack/website(branchupdate-docs-v1.6.2), generated from therelease-1.6.2staging branch. Do NOT merge that PR untilv1.6.2is published — merging it early flips the site's latest-version pointer to an unpublished version and 404s its docs/API links (see the PR body).