Skip to content

Conversation

@nhorman
Copy link
Contributor

@nhorman nhorman commented Nov 14, 2025

Currently, part of release process involves (causally) confirming that the release artifacts pass gpg/sha1/sha256sum checks. It would be nice if we could automate that a bit. This script allows a user to automatically download draft release artifacts and confirm that their signatures/sha1sum/sha256 sum match those of the included artifact files

It also introduces the optional feature to do a per-file level validation of the release using an SBOM file. If we choose to include SBOMS in our releases (see
openssl/openssl#29131), this script will for each file in the archive:

  1. confirm that a node in the SBOM file exists for it 2) confirm that the sha256sum of the file in the archive matches that of
    the sum included in the SBOM
  2. confirm that the sha256sum of the corresponding file from the git
    tree matches that of the sum included in the SBOM

By confirming these three elements we can have a greater degree of confidence that our automated release pipeline did not alter any of our source files from the initial source that we obtained from git.

Currently, part of release process involves (causally) confirming that
the release artifacts pass gpg/sha1/sha256sum checks.  It would be nice
if we could automate that a bit.  This script allows a user to
automatically download draft release artifacts and confirm that their
signatures/sha1sum/sha256 sum match those of the included artifact files

It also introduces the optional feature to do a per-file level
validation of the release using an SBOM file.  If we choose to include
SBOMS in our releases (see
openssl/openssl#29131), this script will for
each file in the archive:
1) confirm that a node in the SBOM file exists for it
2) confirm that the sha256sum of the file in the archive matches that of
   the sum included in the SBOM
3) confirm that the sha256sum of the corresponding file from the git
   tree matches that of the sum included in the SBOM

By confirming these three elements we can have a greater degree of
confidence that our automated release pipeline did not alter any of our
source files from the initial source that we obtained from git.
exit 1
fi

# Ensure we are logged in via gh
Copy link
Member

Choose a reason for hiding this comment

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

Why? There shouldn't be an obligation to be logged in anywhere particular to download a release.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

because its a requirement of the gh tool to do so. We could absolutely drop this requirement and download artifacts with curl, it just increases the complexity of the script, as it means we have to compute the url of each artifact and download it individually.

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.

Generate and validate an SBOM release artifact during the release process

2 participants