Note
Some repositories have special required steps and instructions in their docs
folder called something like Maintainer.md
. Please check that too.
(Optional) Step 1: Start release branch
Create a branch called release/X.X.X
.
Step 2: Make release specific commits
- Run a "Find and replace" on all files (not just *.gradle) in the repo to replace the old version with new version. Make sure to search over all files, not just *.gradle. The main location to change to tell it what version of jar file to create will likely be something like buld.gradle.kts.
- Update the project's
README.md
to document any changed procedures, new features, etc. - Make sure the last release specific commit you make is named
:bookmark: X.X.X
Step 3: Publish artifacts
- Make sure the commit on which you perform the following task has the message:
:bookmark: X.X.X
- Commit and push tag named after the version
X.X.X
git tag X.X.X
git push origin X.X.X - This requires having
publishUsername
andpublishPassword
(public repositories) and/ornexusUsername
, andnexusPassword
(private repositories) added to your gradle.properties.
If the project is open source, you will be publishing to the public /wiki/spaces/HOWTO/pages/14288924.
If the project is closed source, you will be publishing to our locally hosted /wiki/spaces/ADAA/pages/16975952.
Instructions are found in the IHMC Build README and . - Run
gradle compositePublish -PpublishUrl=ihmcRelease
(from IHMC Build README) Note: You can do all of these things from Eclipse if you wish. For the gradle publish, Open Gradle Tasks, then right click on publish:
and select Open Gradle Run Configuration... Change the gradle task to publish -PpublishUrl=ihmcRelease. Apply and save this. This will now show up under the Run Configurations: - You can check that it worked by looking here: https://s01.oss.sonatype.org/content/repositories/releases/us/ihmc/
and when it's actually resolvable by Gradle it'll show up here (this can take like 15 minutes): https://repo.maven.apache.org/maven2/us/ihmc/
or, if closed source, here: https://nexus.ihmc.us/#browse/browse:proprietary-releases
(if you performed Step 1) Step 4: Merge release branch into develop
checkout develop
merge release/X.X.X
(Sort of extra) Step 5: Merge develop into master (Note! On some important repositories you may need to create a pull request for this)
checkout master
merge develop
(Also extra) Step 6: Draft and publish release notes on GitHub (For open source projects only)
- Go to https://github.com/ihmcrobotics/your-project/releases
- Click "Draft a new release"
- Enter version X.X.X as the tag name
- Title the release "X.X.X Release Notes"
- Document all features, API changes, regressions, bug fixes, etc.
- Tick the "This is a pre-release" box
- Click "Publish release"