-
Notifications
You must be signed in to change notification settings - Fork 455
[CDRIVER-5537] A Signed Release Archive + Augmented SBOM Publication #1637
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CDRIVER-5537] A Signed Release Archive + Augmented SBOM Publication #1637
Conversation
- +release-archive generates an archive of the repository that contains the augmented SBOM downloaded from Silk - +sign-file can sign arbitrary files - +signed-release generates release artifacts using +release-archive and +sign-file to create a release archive and detached signature.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, w/ some small tweaks.
Earthfile
Outdated
|
||
# sign-file : | ||
# Sign an arbitrary file. This uses internal MongoDB tools and requires authentication | ||
# to be used access them. (Refer to dev docs) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# to be used access them. (Refer to dev docs) | |
# to be used to access them. (Refer to dev docs) |
docs/dev/earthly.rst
Outdated
.. option:: --branch <branch> | ||
|
||
**Required**. Specifies the branch of the repository from which we are | ||
requested an SBOM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be "are requesting" or "have requested"?
docs/dev/earthly.rst
Outdated
.. option:: --file <filepath> | ||
|
||
**Required**. Specify a path to a file (on the host) to be signed. This | ||
file must be a descendent of the directory that contains the ``Earthfile`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
file must be a descendent of the directory that contains the ``Earthfile`` | |
file must be a descendant of the directory that contains the ``Earthfile`` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the approach to sign a (simpler) archive rather than signing a tag.
Left suggestion to ensure the tarball has the correct VERSION_CURRENT
file.
docs/dev/releasing.rst
Outdated
the :any:`+signed-release` target. Let `$BRANCH` be the name of the Git branch | ||
from which the release is being made:: | ||
|
||
$ ./tools/earthly.sh --artifact +signed-release/dist dist --branch=$BRANCH --version=$NEW_VERSION |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may result in a tarball on a commit after the tag. The post_release_bump
step before adds a commit to update VERSION_CURRENT
.
Consider having the +signed-release
target also do a git checkout
to the NEW_VERSION
to ensure the tarball is built with the correct VERSION_CURRENT
file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've modified the workflow to archive the tagged version rather than the branch revision, and renamed some of the parameters as appropriate.
Summary
This changeset re-introduces a release archive process as part of the release process. This is significantly simplified from the old
makedist
archive, and is mostly just an archive produced by Git with some additional goodies, with more to be added in later changes.What's Included
Earthfile
allows for far more comprehensive descriptions of what is possible.Other Notes