Skip to content

Use image revisions with versioned release aliases - #16

Merged
csandanov merged 4 commits into
masterfrom
feature/image-revisions
Sep 20, 2026
Merged

csandanov merged 4 commits into
masterfrom
feature/image-revisions

Conversation

@csandanov

@csandanov csandanov commented Sep 20, 2026

Copy link
Copy Markdown
Member

Image release numbering can be confused with the upstream software version. This change uses repository-wide image revisions for major/minor tags, such as 3.14-r23, and a separate counter starting at r0 for each complete upstream version, such as 3.14.7-r0. Primary Git releases start at r0. Major, minor, and full-version aliases therefore all start at r0 for the first release; the workflow pins the shared publisher that supports this starting point.

Every published major, minor, and full-version revision tag gets a matching annotated Git alias pointing to the primary rN release commit. The pinned shared publisher runs after all publishing jobs succeed, copies full-version aliases by digest, verifies the result, and publishes the Git aliases. Workflow filters and publisher guards prevent aliases from triggering another build.

Previously published tags, floating tags, and legacy Makefile inputs retain their supported behavior. Document the tag mapping and keep the version selectors alongside the publishing matrix.

Merge the shared updater and alias publisher first. Create revision releases from the default branch after merging this change. Existing revision tags remain available after support for their major or minor version ends.

Validation: the offline publisher harness passes for this repository with r0, r1, r23, legacy release, applicable variants, feature refs, and major/minor/full-version alias refs. Version mappings resolve; actionlint, shell syntax, and git diff --check pass. The shared publisher has tests for counter resets, retries, interrupted publication, and conflicting tags, plus digest-copy checks against a local registry. No public images or release tags were published.

Opt in to one increasing rN release sequence per repository and document image revisions separately from upstream software versions. Update applicable publishing and build inputs while retaining legacy tags and build argument compatibility.
Keep major and minor tags on the repository release counter. Add a full-version revision counter starting at r0 and matching annotated Git aliases for every published versioned revision tag.

Run the pinned shared publisher after all image publishing jobs succeed, verify manifest digests, and prevent alias tags from triggering builds. Preserve legacy release behavior and document the tag mapping.
@csandanov csandanov changed the title Adopt image revision tags Use image revisions with versioned release aliases Sep 20, 2026
Describe previously published image tags without referring to semantic versioning. Keep their availability and the image revision tag mapping unchanged.
Document r0 as the first image revision. Pin the shared alias publisher that accepts r0 primary releases and parent pins.
@csandanov
csandanov merged commit 407e6b9 into master Sep 20, 2026
33 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