-
Notifications
You must be signed in to change notification settings - Fork 0
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
Publish packages to Sonatype #250
Conversation
Suspected binary incompatible evictions across all projects (summary)
See individual evictions stages for more detail |
80d1381
to
e1e50f6
Compare
* Create a new GitHub workflow which publishes scala-libs packages to Sonatype. * Create two other GitHub workflows for testing and reporting evictions, replacing the original Buildkite workflow
e1e50f6
to
caf1d30
Compare
ref: main | ||
- name: Set up GPG | ||
run: | | ||
echo "${{ secrets.BASE64_GPG_KEY }}" | base64 -d > secret-keys.gpg |
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.
You might elsewhere (in a different stack) be able to terraform these values on to the GitHub repository so there existence is codified and updated values in GitHub can be done with a terraform apply.
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.
Here a GHA secret is added at the org level and its access configured. Its value is also created by the tf so we can have it as module.gha_scala_formatting_role.role_arn
, which I believe you can't do here?
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 is really fantastic work.
Only comment is it might be good to add some of the context about what's going on to a README somewhere, and mention the Sonatype account setup too.
e2a40be
to
b427cc4
Compare
b427cc4
to
6acee18
Compare
Part of wellcomecollection/platform#5783 |
What does this change?
Remove the Buildkite pipeline and replace it by three GitHub workflows:
run-tests
: Runs when a PR is created/updatedreport-evictions
: Runs when a PR is created/updatedrelease
: Runs only on push to mainrun-tests
This action replaces the "Test" group from the original Buildkite pipeline and mirrors its implementation.
report-evictions
This action replaces the "Report evictions" group from the original Buildkite pipeline and is implemented in a similar way. The final eviction report is posted as a comment on the PR (see comment below). If changes are made to the PR, the existing comment is updated as needed.
release
This replace the "cut release" and "Publish" steps from the original Buildkite pipeline. The new action implements several major changes:
create_release.py
) is now only concerned with updating theCHANGELOG.md
file and thebuild.sbt
file. Surrounding logic andgit
commands have been extracted into the parent GitHub action.How to test
Testing the
release
action is tricky, but I did some testing on this branch to verify that the publishing process works as expected.How can we measure success?
All
scala-libs
packages are successfully published to Sonatype whenever we merge a new version to main.Have we considered potential risks?
Releasing the packages to a public repository might increase the risks of leaking secrets and other confidential information. However, since this repository is already public and the source code doesn't contain any confidential information, this should not be an issue.