Repository navigation
Share the Maven build and release workflows - #1
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the build and release workflows from oss-parent into reusable workflows here, so every BonfireTrunk Maven library runs the same ones and a fix lands everywhere at once.
maven-build.yml: builds and tests a library on pull requests with a read-only token and no secrets. It runs./mvnw -B -ntp verifyby default; the optionalmaven-argsinput replacesverifyfor a library that needs a different build.maven-release.yml: the release job from oss-parent, now publishing to GitHub Packages as well as Maven Central. When aRelease X.Y.ZPR is merged into prime, one Maven run builds and signs the artifacts, uploads them to Central (deploy) and sends the same signed files tohttps://maven.pkg.github.com/<owner>/<repo>(deploy:deploywithaltDeploymentRepository). GitHub Packages authenticates with the job'sGITHUB_TOKEN, so the caller grantspackages: writeand no new secret is needed. On a manual re-run, each registry that already has the version is skipped: Central is checked on repo1, GitHub Packages through the package versions API. It declares the four release secrets it needs, so a library passes exactly those.cla.yml: runs the agreement check on this repository's own pull requests, so thecla / checkcheck can be required here too.build, the build check is namedbuild / build.Checked locally: all workflows and the README examples parse, and actionlint (with shellcheck) reports only the unknown
ubuntu-26.04runner label, which GitHub already runs our builds on, and the intentional word splitting of the Maven arguments. Deploying to Central and to a second repository in one run was tried against a local file repository: both received byte-identical artifacts and signatures.Once this is merged, oss-parent switches to callers in its own PR, and that PR's build exercises
maven-build.yml.