Skip to content

Resolve stagings by package annotations in staging-check - #17

Merged
alexadereyko merged 2 commits into
mainfrom
jira/TBBAS-3550-staging-check-by-annotations
Oct 15, 2026
Merged

alexadereyko merged 2 commits into
mainfrom
jira/TBBAS-3550-staging-check-by-annotations

Conversation

@alexadereyko

@alexadereyko alexadereyko commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Brief

Let staging-check find stagings by the annotations of their packages, a revision among them, and return references to the packages found.

Overview

Stagings are no longer tagged by commit, so a staging is asked for by what it was built from. A request has the form of a staging-pull entry; its annotations are globs over the annotations of the packages, which carry the revision of their build and of their dependencies:

[
  {
    "artifact": "core-linux-x86_64",
    "packages": [
      {
        "path": "ghcr.io/openDAQ/$CHANNEL/staging/opendaq",
        "annotations": {
          "org.opencontainers.image.revision": "$CORE_REF",
          "com.opendaq.custom.platform": "linux",
          "com.opendaq.settings.arch": "x86_64"
        },
        "optional": false
      }
    ]
  }
]

Every index of the package is looked at; the answer is the matching packages of the newest index that has any. A request nothing answers is an error, or a warning when it is optional. artifact may be left out.

The resolved output is the request with every package replaced by references to the packages found:

[
  {
    "artifact": "core-linux-x86_64",
    "packages": [
      { "path": "ghcr.io/opendaq/dev/staging/opendaq@sha256:<digest>" }
    ]
  }
]

test-staging resolves what it published by revision, by the core a module was built against and for several packages at once, and checks that a missing staging fails.

Caller migration

The input changed: a request is a staging-pull entry, and a staging is named by annotations instead of a tag. check-core-staging.yml in the module repositories moves to the new form.

@alexadereyko
alexadereyko force-pushed the jira/TBBAS-3550-staging-check-by-annotations branch from 40e0877 to d646e35 Compare October 5, 2026 14:03
@alexadereyko alexadereyko changed the title Resolve stagings by digest and annotations in staging-check Resolve stagings by package annotations in staging-check Oct 6, 2026
@alexadereyko
alexadereyko force-pushed the jira/TBBAS-3550-staging-check-by-annotations branch 3 times, most recently from 21ce117 to 64b5ade Compare October 9, 2026 08:25
@alexadereyko
alexadereyko force-pushed the jira/TBBAS-3549-staging-push-run-id-tags branch from 4d327b2 to 829c1c4 Compare October 12, 2026 07:55
@alexadereyko
alexadereyko force-pushed the jira/TBBAS-3550-staging-check-by-annotations branch from 64b5ade to 72028f6 Compare October 12, 2026 08:02
Base automatically changed from jira/TBBAS-3549-staging-push-run-id-tags to main October 15, 2026 00:06
A request can name an index by digest or by annotations, besides the
tag; a digest takes precedence over a tag. The resolved output mirrors
the input with the digests filled in, and the file output points at the
whole answer: the index annotations and the matching packages.
A request names its packages by their annotations, a revision among
them, and is answered with the packages of the newest index that has
any. The input takes the form of staging-pull; the resolved output is
the request with every package replaced by path@digest references.

The digest and tag inputs and the pinned and file outputs are gone.
@alexadereyko
alexadereyko force-pushed the jira/TBBAS-3550-staging-check-by-annotations branch from 72028f6 to d07e063 Compare October 15, 2026 00:08
@alexadereyko alexadereyko self-assigned this Oct 15, 2026
@alexadereyko
alexadereyko merged commit 9acb413 into main Oct 15, 2026
79 checks passed
@alexadereyko
alexadereyko deleted the jira/TBBAS-3550-staging-check-by-annotations branch October 15, 2026 00:15
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