Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 2.79 KB

File metadata and controls

53 lines (38 loc) · 2.79 KB

Publishing

  1. Update CHANGELOG.md - change [Unreleased] to [X.Y.Z] - YYYY-MM-DD and add a new [Unreleased] section on top.
  2. Update version property in gradle.properties to the new version.
  3. Commit the changes from (1) and (2) with a message "Release X.Y.Z" and push to GitHub.
  4. Create an annotated git tag named vX.Y.Z with the message "Release X.Y.Z" and push it to GitHub. This will trigger the release workflow, which will build and publish the artifacts to Sonatype repository. You can use the ./tools/tagrelease script to ensure the tag is correctly formatted and prevent mistakes.
  5. Update version property in gradle.properties to the next snapshot version, for example 1.4.1-SNAPSHOT.
  6. Commit the change from (5) with a message "Update snapshot version" and push to GitHub.
  7. If the release was made on a maintenance branch, make sure to merge or cherry-pick the CHANGELOG.md entry to the main branch as well.

Maven Central

Publish Release Status Sonatype Sonatype

  1. Keep Git tags with vX.Y.Z-{suffix} format. GitHub Actions job will only trigger on such tags and will evaluate version based on tag format.
  2. The releasing procedure only uploads the artifacts to Sonatype repository. You need to manually log in to Sonatype to push the artifacts to Maven Central.

See gradle-publish-release.yml for publishing release versions instructions.

Set the following environment variables in your CI/CD (GitHub Actions, etc.):

# generated on Sonatype account
PUBLISHING_USERNAME=<username>
PUBLISHING_PASSWORD=<password>

# generated PGP key for signing artifacts
SIGNING_KEY=<PGP key>
SIGNING_PASSWORD=<PGP password>

Artifacts are published to Maven Central via Sonatype, using following Gradle task.

./gradlew -Pversion=<version> -Psign problem4j-publishAggregationToCentralPortal

This command uses nmcp Gradle plugin - link.