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: Push git tag -------------------- Pull the merge commit created on the `master` branch during the step 2. Create a tag: git tag -s v${VERSION} -m v${VERSION} Push the tag: git push origin master --tags Step 5: 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 oldest 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).