Skip to content

Move the staging commit from tags to the revision annotation - #16

Merged
alexadereyko merged 7 commits into
mainfrom
jira/TBBAS-3549-staging-push-run-id-tags
Oct 15, 2026
Merged

alexadereyko merged 7 commits into
mainfrom
jira/TBBAS-3549-staging-push-run-id-tags

Conversation

@alexadereyko

@alexadereyko alexadereyko commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Brief

Tag staging indexes by run instead of by commit, name the build on every package, and repeat the dependency revisions of the packages on the index.

Overview

staging-push tags an index run-<run id>-<run attempt> in place of <sha> and <short-sha>.

Every package carries org.opencontainers.image.revision and org.opencontainers.image.source, as the index does. The com.opendaq.dependencies.* annotations of the packages are repeated on the index; a publish whose packages differ in them fails.

ghcr.io/<owner>/test/staging/hello-module : run-<run id>-<run attempt>, latest
└─ index
   ├─ annotations
   │     org.opencontainers.image.revision              <hello-module commit>
   │     com.opendaq.dependencies.hello-core.revision   <hello-core commit>
   └─ package
      └─ annotations
            org.opencontainers.image.revision              <hello-module commit>
            com.opendaq.dependencies.hello-core.revision   <hello-core commit>

test-staging gives hello-module two dependency revisions through CPACK_OPENDAQ_META_FIELDS, requests its stagings by the run tag, and verifies the annotations of the published indexes and packages.

The windows-11-arm job of reusable builds with the Visual Studio 18 2026 generator: the runner image has no other Visual Studio.

Caller migration

A request with "tag": "<sha>" no longer resolves against an index published by this version; a caller requests latest or the run tag.

Comment thread cmake/StagingBootstrap.cmake Outdated
An index is tagged run-<run id>-<run attempt> in place of <sha> and
<short-sha>; the commit it was built from is its
org.opencontainers.image.revision annotation.

The fields a project adds to the staging metadata through
opendaq-cmake-utils are published as annotations, and the
com.opendaq.dependencies.* ones are repeated on the index. test-staging
gives hello-module the revision of hello-core this way.
The windows-11-arm runner label moved to an image with Visual Studio
2026 only, and the Visual Studio 17 2022 generator finds no instance
there. The job keeps the v143 toolset, which that image carries.
A package carries the revision and source of its build, so a package
fetched by its digest says what it was built from.
A package carries the revisions of its dependencies from its metadata;
the index no longer repeats them, and packages of one index that differ
in them no longer fail the publish.
…index

The script reads top to bottom: each artifact becomes an annotated
manifest, the index carries their annotations and the dependency
revisions they agree on, one copy publishes it.
The module package is given a second entry in CPACK_OPENDAQ_META_FIELDS,
dependencies/test/revision, and the index and its packages are expected
to carry it.
@alexadereyko
alexadereyko force-pushed the jira/TBBAS-3549-staging-push-run-id-tags branch from 4d327b2 to 829c1c4 Compare October 12, 2026 07:55

@alien588 alien588 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM, a small misc change requested (if needed). Approved otherwise

Comment thread .github/workflows/staging-push.yml Outdated
@alexadereyko alexadereyko self-assigned this Oct 14, 2026
@alexadereyko
alexadereyko merged commit 78eeb5b into main Oct 15, 2026
78 checks passed
@alexadereyko
alexadereyko deleted the jira/TBBAS-3549-staging-push-run-id-tags branch October 15, 2026 00:06
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