-
Notifications
You must be signed in to change notification settings - Fork 0
Performing a release
ljacqu edited this page Oct 5, 2024
·
7 revisions
Note to self on how to release the project.
-
NumberTypesTest#shouldSupportAllJdkNumberTypespasses (must be run locally outside of Maven) - Java 8 is default version
java -version -
gpgcommand available on machine:whereis gpg - gpg + Github SSH key known (to check:
ssh git@github.com) - Login details for ossrh repo and gpg key present in /.m2/settings.xml (must match repo ID of pom.xml)
- Latest build successful (see GitHub actions)
- Ensure that Javadoc can be generated without errors:
mvn javadoc:javadoc - No local changes
- Dependencies branch merged (or intentionally not)
- Clone new copy:
git clone git@github.com:ljacqu/JavaTypeResolver.git typeresolver-release && cd typeresolver-release- If this fails (access denied), probably the SSH key for GitHub is not properly set up. Do not clone with the https URL as it may create issues in the releasing process later on!
- Not releasing from master? Run
git fetch && git switch other-branch, otherwise go to next point - Create new branch
git checkout -b release && git push --set-upstream origin release - Check right Git author settings
git config user.name && git config user.email- Otherwise change them with
git config --global user.name ljacqu && git config --global user.email ljacqu@users.noreply.github.com
- Otherwise change them with
-
mvn release:prepare -P release- Specify tag name as
v0.2.0(for version 0.2.0)
- Specify tag name as
- Use dryRun to test:
mvn release:prepare -P release -DdryRun=true
If it failed:
mvn release:rollback -P release- delete remote branch:
git push origin :<tag-name> - delete the release tag if it was created
- delete the local checkout
mvn release:perform -P release- merge
releasebranch into master, deleterelease - delete project copy
Documentation
Internal (for development)