-
Notifications
You must be signed in to change notification settings - Fork 2
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
Adopt GHA Scala Library Release Workflow #44
Merged
Merged
Commits on Feb 20, 2024
-
Adopt GHA Scala Library Release Workflow
This replaces the old release process which had developers manually running `sbt release` on their own laptops - each developer had to obtain their own PGP key and Sonatype credentials, which was an elaborate & fiddly process. Now there's a single set of release credentials, available through GitHub Organisation Secrets, like we already have with NPM. The changes required to adopt the automated workflow: * No need to set these sbt configuration keys, as they're now taken care of by the workflow: * `scmInfo` & `pomExtra` * `homepage` * `developers` * `releasePublishArtifactsAction` * `publishTo` * Remove the publish, release & push steps of sbt-release's `releaseProcess` configuration, because the workflow does those now, and the workflow only wants `sbt release` to create the versioning commits, and tag them appropriately. The workflow does the rest itself. * Remove `sbt-pgp` plugin because it's no longer used - the workflow does the signing using `gpg` directly. * Grant this repo access to the GitHub Organisation Secrets containing the Maven Release credentials with guardian/github-secret-access#21 Additionally, we add **automatic version numbering** based on compatibility assessment performed by `sbt-version-policy`: * Add the `sbt-version-policy` plugin, to allow it to do the compatibility assessment. This also sets the `versionScheme` for this library to `early-semver`, which is the recommended versioning for Scala libraries, and `sbt-version-policy` & correct sbt-eviction-issue-detection pretty much depend on the `versionScheme` being `early-semver`. Thus we also need to switch to using a new semver version number for our library version! * Add the `releaseVersion := fromAggregatedAssessedCompatibilityWithLatestRelease().value` sbt setting, which will intelligently set the release version based on `sbt-version-policy`'s compatibility assessment, thanks to scalacenter/sbt-version-policy#187 . This change also drops support for Scala 2.11 since it does not seem to support the -release:11 scalac option which is required to ensure that the Java 17 workflow produces Java 11 compatible bytecode.
Configuration menu - View commit details
-
Copy full SHA for 7bf5fce - Browse repository at this point
Copy the full SHA 7bf5fceView commit details -
Co-authored-by: Roberto Tyley <roberto.tyley@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 1750825 - Browse repository at this point
Copy the full SHA 1750825View commit details -
Co-authored-by: Roberto Tyley <roberto.tyley@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 8e0dfd3 - Browse repository at this point
Copy the full SHA 8e0dfd3View commit details -
Co-authored-by: Roberto Tyley <roberto.tyley@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for b8e5176 - Browse repository at this point
Copy the full SHA b8e5176View commit details -
Configuration menu - View commit details
-
Copy full SHA for bddb8f2 - Browse repository at this point
Copy the full SHA bddb8f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5577f08 - Browse repository at this point
Copy the full SHA 5577f08View commit details -
Configuration menu - View commit details
-
Copy full SHA for a92ef29 - Browse repository at this point
Copy the full SHA a92ef29View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b7cc66 - Browse repository at this point
Copy the full SHA 5b7cc66View commit details
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.