Skip to content

Commit

Permalink
Enable automatic releases on CI
Browse files Browse the repository at this point in the history
  • Loading branch information
Egorand committed Apr 26, 2023
1 parent e967c5a commit e96f473
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 19 deletions.
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ jobs:
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }}

- name: Prep docs
run: ./gradlew dokkaHtml
Expand Down
25 changes: 6 additions & 19 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,10 @@ Releasing
1. Change the version in `gradle.properties` to a non-SNAPSHOT version.
2. Update `docs/changelog.md` for the impending release.
3. `git commit -am "Prepare for release X.Y.Z."` (where X.Y.Z is the new version)
4. `./gradlew clean publish --no-daemon --no-parallel`.
5. Visit [Sonatype Nexus][sonatype] and ensure there's only one staging repository.
6. `./gradlew closeAndReleaseRepository`.
7. `git tag -a X.Y.Z -m "Version X.Y.Z"` (where X.Y.Z is the new version).
8. Update `gradle.properties` to the next SNAPSHOT version.
9. `git commit -am "Prepare next development version."`.
10. `git push && git push --tags`.
4. `git tag -a X.Y.Z -m "Version X.Y.Z"` (where X.Y.Z is the new version).
5. Update `gradle.properties` to the next SNAPSHOT version.
6. `git commit -am "Prepare next development version."`.
7. `git push && git push --tags`.

If steps 5-6 fail, drop the Sonatype repo, fix the problem, commit, and start again at step 4.


Prerequisites
-------------

In `~/.gradle/gradle.properties`, set the following:

* `ORG_GRADLE_PROJECT_mavenCentralUsername` - Sonatype username for releasing to `com.squareup`.
* `ORG_GRADLE_PROJECT_mavenCentralPassword` - Sonatype password for releasing to `com.squareup`.

[sonatype]: https://s01.oss.sonatype.org/
This will trigger a GitHub Action workflow which will create a GitHub release and upload the
release artifacts to Maven Central.
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ POM_DEVELOPER_NAME=Square, Inc.

SONATYPE_HOST=S01
RELEASE_SIGNING_ENABLED=true
SONATYPE_AUTOMATIC_RELEASE=true

0 comments on commit e96f473

Please sign in to comment.