Releasing EncryptedStorage¶
-
Create a local release branch from
master
git checkout master git pull git checkout -b release_2.0.2
-
Update
VERSION_NAME
(remove-SNAPSHOT
) ingradle.properties
VERSION_NAME=2.0.2
-
Update the current version and next version in
mkdocs.yml
extra: encrypted_storage: release: '2.0.2' next_release: 'REPLACE_WITH_NEXT_VERSION_NUMBER'
-
Generate the Dokka docs
rm -rf docs/encrypted-storage ./gradlew encrypted-storage:dokka
-
Update
docs/changelog.md
after checking out all changes: -
Take one last look
git diff
-
Commit all local changes and PGP sign
git commit -S -am "Prepare 2.0.2 release"
-
Perform a clean build
./gradlew clean ./gradlew build
-
Create a PGP signed tag, and push it
git tag -s 2.0.2 -m "Release v2.0.2" git push origin 2.0.2
-
Make sure you have valid credentials in
~/.gradle/gradle.properties
to sign and upload the artifactsSONATYPE_NEXUS_USERNAME=<Your Username> SONATYPE_NEXUS_PASSWORD=<Your Password> signing.gnupg.homeDir=/home/matthew/.gnupg/ signing.gnupg.optionsFile=/home/matthew/.gnupg/gpg.conf signing.gnupg.keyName=0x61471B8AB3890961
-
Upload the artifacts to Sonatype OSS Nexus
./gradlew uploadArchives --no-daemon --no-parallel
-
Release to Maven Central
- Login to Sonatype OSS Nexus: oss.sonatype.org
- Click on Staging Repositories
- Scroll to the bottom, you should see an entry named
iomatthewnelson-XXXX
- Check the box next to the
iomatthewnelson-XXXX
entry, click Close then Confirm - Wait a bit, hit Refresh, until the Status for that column changes to Closed.
- Check the box next to the
iomatthewnelson-XXXX
entry, click Release then Confirm
-
Merge the release branch to master
git checkout master git pull git merge --no-ff -S release_2.0.2
-
Update
VERSION_NAME
(increase version and add-SNAPSHOT
) andVERSION_CODE
ingradle.properties
VERSION_NAME=REPLACE_WITH_NEXT_VERSION_NUMBER-SNAPSHOT VERSION_CODE=INCREMENT
-
Commit your changes and sign with PGP keys
git commit -S -am "Prepare for next development iteration"
-
Push your changes
git push
-
Wait for the release to become available on Maven Central, then:
- Redeploy the docs:
pipenv shell
mkdocs serve
to check locallymkdocs gh-deploy
to deployexit
- Go to the Draft a new release page, enter the release name (2.0.2) as tag and title, and have the description point to the changelog. You can find the direct anchor URL from the Change Log page on the doc site.
- Redeploy the docs: