This document is documentation intednded for maintainers of Barrier. It documents the release process of Barrier.
Setup the following environment variable that will be used throughout the rest of the steps.
export VERSION=X.Y.Z
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
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
Create a tag:
git tag -s v${VERSION} -m v${VERSION}
Push the tag:
git push origin master --tags
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).