Releases are made by tagging the latest commit in the master branch.

The tag must follow the pattern defined in the gitlab-ci.yml file in order to trigger the live-build CI stage.

For anyone

Ensure your ci build is completing in any feature or develop branch, and then merge this into master branch. Ensure this build job in master completes before continuing.

There is a tags menu in the Repository in Gitlab UI - you can see all previous tags here and also a New tag button.

You could create a new tag directly in here

The tag must follow the release pattern defined, this is usually release-xyz where xyz is something unique and makes the release easily identifiable from a point in time.

You can also make a tag and commit this via the Git cli from your desktop.

<aside> 💡 Semantic versioning of your project via package.json or npm version can help identify a specific release. You could tag each or any release of your app by bumping the appropriate version digit for the type of changes that make up that release. https://semver.org/

</aside>

For Bash/Macintosh users

To facilitate releases there is a shell script included in the react-starter project. This script will tag the commit with a dynamically generated release tag.

How to release using shell script

Ensure develop build is passing

  1. git checkout master
  2. git pull origin master
  3. git merge --no-ff --no-commit develop
  4. npm run build - check for errors before committing
  5. git push
  6. Check that the master build passes
  7. ./release.sh
  8. Once complete remember to git checkout develop

For Windows

If the project doesn't have 2 files releaseOnWindows.bat and getReleaseTag.vbs. You can add it to the existing project.