barrier/RELEASING.md

2.1 KiB

Creating a release

This document is documentation intednded for maintainers of Barrier. It documents the release process of Barrier.

Step 1: Setup environment variables

Setup the following environment variable that will be used throughout the rest of the steps.

export VERSION=X.Y.Z

Step 2: Release notes PR

Open a new branch (e.g. release) and run the following:

towncrier --version ${VERSION} --date `date -u  +%F`

This collects the release notes using the towncrier tool. Please commit the collected release notes afterwards.

Certain file names are not properly supported by the towncrier tool and it ignores them. Check newsfragments directory for any forgotten release notes

Step 3: Merge the release notes PR

Step 4: Bump the version number

Pull the merge commit created on the master branch during the step 2.

Edit the following files and update the version numbers:

  • Build.properties
  • cmake/Version.cmake
  • doc/barrierc.1
  • doc/barriers.1
  • .github/ISSUE_TEMPLATE/bug_report.yml

Commit to the release branch with the following message Barrier x.y.z.

Push the commit:

git push origin master

Step 5: Push git tag

Create a tag:

git tag -s v${VERSION} -m v${VERSION}

Push the tag:

git push origin master --tags

Step 6: Draft a new release on GitHub

Go to https://github.com/buildbot/buildbot/releases and draft a new release.

Use git tag as the title of the release: vX.Y.Z.

Use the release notes generated by the towncrier tool as the description of the releases.

Upload the artifacts created by Azure pipelines as the binaries of the release. The following artifacts should be uploaded to GitHub:

  • the Barrier-X.Y.Z-release.dmg created by the newest Mac OS task (artifact name is "Mac Release Disk Image and App XYZ").

  • the BarrierSetup-X.Y.Z-release.exe (artifact name is Windows Release Installer).