Skip to content

fix: Collect provenance digests regardless of artifact layout#1566

Merged
dervoeti merged 1 commit into
mainfrom
fix/provenance-single-version-digest-glob
Jul 6, 2026
Merged

fix: Collect provenance digests regardless of artifact layout#1566
dervoeti merged 1 commit into
mainfrom
fix/provenance-single-version-digest-glob

Conversation

@dervoeti

@dervoeti dervoeti commented Jul 6, 2026

Copy link
Copy Markdown
Member

Description

download-artifact only nests each artifact into its own subdirectory when more than one matches the pattern. Single-version products upload a single provenance-digests-* artifact, which gets flattened directly into the download path, so the hardcoded artifacts/*/digests.json glob found nothing and jq failed. Use find so both the flat and per-artifact subdirectory layouts work, and guard against zero digest files.

Definition of Done Checklist

Note

Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant.

Please make sure all these things are done and tick the boxes

  • Changes are OpenShift compatible
  • All added packages (via microdnf or otherwise) have a comment on why they are added
  • Things not downloaded from Red Hat repositories should be mirrored in the Stackable repository and downloaded from there
  • All packages should have (if available) signatures/hashes verified
  • Add an entry to the CHANGELOG.md file
  • Integration tests ran successfully
TIP: Running integration tests with a new product image

The image can be built and uploaded to the kind cluster with the following commands:

boil build <IMAGE> --image-version <RELEASE_VERSION> --strip-architecture --load
kind load docker-image <MANIFEST_URI> --name=<name-of-your-test-cluster>

See the output of boil to retrieve the image manifest URI for <MANIFEST_URI>.

@dervoeti dervoeti self-assigned this Jul 6, 2026
@dervoeti dervoeti moved this to Development: Waiting for Review in Stackable Engineering Jul 6, 2026
@dervoeti
dervoeti requested a review from Techassi July 6, 2026 10:33

@NickLarsenNZ NickLarsenNZ left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@NickLarsenNZ NickLarsenNZ moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Jul 6, 2026
@dervoeti
dervoeti added this pull request to the merge queue Jul 6, 2026

@Techassi Techassi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM in general, but just a question out of curiosity: Do we expect more than one file in some situations. If so, can you elaborate on these?

Merged via the queue into main with commit 843cdd8 Jul 6, 2026
3 checks passed
@dervoeti
dervoeti deleted the fix/provenance-single-version-digest-glob branch July 6, 2026 10:39
@dervoeti

dervoeti commented Jul 6, 2026

Copy link
Copy Markdown
Member Author

but just a question out of curiosity: Do we expect more than one file in some situations. If so, can you elaborate on these?

Yes, we have one digests.json per product version, so multiple files is even the more common case (and that one worked before, single version did not). The build matrix fans out over versions, each leg uploads its own provenance-digests-<version> artifact containing one digests.json.

  • Single-version products (krb5): 1 file.
  • Multi-version products: N files. e.g. kafka publishes 4 versions (3.9.1, 3.9.2, 4.1.1, 4.2.1) -> 4 digests.json

@dervoeti dervoeti moved this from Development: In Review to Development: Done in Stackable Engineering Jul 6, 2026
@lfrancke lfrancke moved this from Development: Done to Done in Stackable Engineering Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

4 participants