Skip to content

Release Procedure

bevans2000 edited this page Jan 14, 2024 · 2 revisions

Release Procedure

Revised : 14 January 2024

This describes the procedure to follow to create a release in terms of a number of phases.

Pre-Release Phase

This phase focuses on preparing the code base for release.

  1. Update the pom.xml files and remove the pre prefix from the project version.
  2. Update the UI documentation with the expected release date.
  3. Copy the contents of the whatsnew.html file to the version_history.html file and CHANGELOG.md for the new release.
  4. Commit the changes.

The location of the aforementioned html or md files are at :

  • mars-sim/CHANGELOG.md
  • mars-sim/mars-sim-ui/../src/main/resources/docs/help/version_history.html
  • mars-sim/mars-sim-ui/../src/main/resources/docs/help/whatsnew.html

Release Phase

This involves creating the release in GitHub and ensuring the code base is properly tagged.

  1. In the local repo create a tag for the new Release. Note it MUST begine with 'v'

git tag vX.Y.Z

  1. Then push the tag to the remote repo

git push --tags

  1. This will triiger a dedicated GitHub Action Create Release which will build the complete code and then create a Release.
  2. Go to the Releases page and there will be a new release matching the tag name. Check the release including artifacts and update the notes if required.
  3. Once satisified, publish the Release so it is public.

Post-Release Phase

If the previous release was not a bug fix then the numbering needs advancing.

The Post release phase is about preparing the code base for a new phase of development for the next release version, namely, Y.

Initially this next version should be called pre-Y.

e.g. if 3.5.0 has just been published, assign the next version as pre-3.6.0.

The detailed steps are as follows :

  1. Update the pom.xml files to reference the new project version, pre-Y.
  2. Reset the whatsnew.html file in the UI documentation to the next version by adding a placeholder for pre-Y.
  3. Commit the changes to the code base.
Clone this wiki locally