Document the releasing procedure
This commit is contained in:
parent
fc6d4e41d8
commit
608594f245
|
@ -0,0 +1,59 @@
|
||||||
|
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).
|
Loading…
Reference in New Issue