How to complete a Software Release

In theory, versioning should follow https://semver.org/, or if not, some versioning structure should be clearly documented and published.

For example, in Controls versioning, major versions are different vehicles, minor versions are major code releases, and patches are for hotfixes/bugfixes to a release (usually high-priority).

Step 1: Merge your final changes & test

The regular workflow is Issue Ticket → Branch Created → Pull Request (PR) → Merge into Master. Once you've deemed that the final PR is validated, merge in your final changes and move on to step 2.

Step 2: Use this guide to create and tag a release on your latest commit

Step 3: Create + update a production branch

Create a branch called production/MX (if it doesn't already exist) branching off of the tagged commit. This will be the branch that your version will live on.

If the branch already exists, update the branch through a rebase with the commits corresponding to the new changes made.