77 lines
2.1 KiB
Markdown
77 lines
2.1 KiB
Markdown
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).
|