Skip to content

Commit

Permalink
update releasing instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
SethTisue committed Mar 11, 2024
1 parent 03476cc commit f2f46cb
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
## Creating a regular release

1. Create a [new release](https://github.com/lightbend/genjavadoc/releases/new) with:
* `git tag -a -m 'Release v0.18' v0.18`
* title and release description including notable changes
2. This triggers a Github Action build that should test, build and publish to sonatype, and then close and release the repository to Maven Central.
Creating a release on GitHub triggers a Github Action build that should test, build and publish to Sonatype, and then close and release the repository to Maven Central.

## Back-releasing for a new Scala version

It is often the case when this compiler plugin needs to be released for a newly released Scala version. For this the process is the following:

1. Checkout the version that is to be back-released, which would be
* `main`, if no features or bug fixes were merged to the main branch since the latest release. In this case create a tag recording you released from this commit, e.g. `git tag -a -m 'Release 0.18 for Scala 2.12.18' v0.18_2.12.18; git push --tags`.
* `main`, if no features or bug fixes were merged to the main branch since the latest release. In this case create a tag recording you released from this commit, e.g. `git tag -a -m 'Release 0.18 for Scala 2.12.19' v0.18_2.12.19; git push --tags`.
* tag, if the main branch has unreleased features or bug fixes. In this case you will need to cherry pick the commit that adds support for the new Scala version.
1. Create a file `version.sbt` containing `ThisBuild / version := "0.18"` which sets the version to be back-released. This will override the automatic version derivation from the git history. Alternatively you can `set ThisBuild / version := ...` in the command line.
1. Publish the release by running `SONATYPE_USERNAME=xxx SONATYPE_PASSWORD=xxx sbt clean ++2.12.18 publishSigned sonatypeBundleRelease` (with the appropriate credentials and scala version). You will need Sonatype OSS repository rights to publish under `com.typesafe` organisation.
1. Publish the release by running `SONATYPE_USERNAME=xxx SONATYPE_PASSWORD=xxx sbt clean ++2.12.19 publishSigned sonatypeBundleRelease` (with the appropriate credentials and scala version). You will need Sonatype OSS repository rights to publish under `com.typesafe` organisation.

It would be nice to have a way to backpublish through GitHub Actions instead of using our laptops. If interested in pursuing this possibility, see https://github.com/lightbend/genjavadoc/issues/333 and https://github.com/sbt/sbt-ci-release/issues/102

Note that the instructions above suggest pushing a tag. Pushing the tag will cause sbt-ci-release to attempt to publish incorrect artifacts. It might be better not to push the tag at all? :shrug:
Note that the instructions above suggest pushing a tag. Pushing the tag may cause sbt-ci-release to attempt to publish incorrect artifacts. It might be better not to push the tag at all? :shrug:

0 comments on commit f2f46cb

Please sign in to comment.