-
-
Notifications
You must be signed in to change notification settings - Fork 134
Release Process
Keli Grubb edited this page Oct 29, 2019
·
38 revisions
There are 2 stages to the release process:
-
Create a pull request with a new feature or fix
-
Ensure the AppData contains relevant release notes in the PR
Example:
<release version="1.0.1" date="2019-09-25" urgency="medium"> <description> <ul> <li>changelog contents</li> <li>More changelog contents</li> </ul> </description> </release>
-
PR is reviewed, approved, and merged
- Updates translation files when there are string changes (in-progress, not available yet)
- Create a release PR based off of the master branch
- Fill out the PR template:
- Verify the versioning for the new release (i.e. if it's a x.y.patch or x.minor.z bump)
- Verify screenshots, AppData, etc.
- Bump the release date in AppData
- Verify that the PR has a label called
Release
(should be auto-set by the PR template)
- PR is reviewed, approved, and merged
- Updates the Debian changelog in the
deb-packaging
branch - Tags the
x.y.z
version on themaster
branch and creates a new GitHub Release - Tags the
x.y.z-debian
version on thedeb-packaging
branch - Pushes a next-version commit to master including a patch version bump in Meson and AppData
- Merges the
master
branch into the user-defined stable branch (eg.juno
) to enable stable launchpad builds
https://github.com/danrabbit/release-automation/releases/new?tag=v1.0.1;body=Changelog+contents
(REST API ffr: https://developer.github.com/v3/repos/releases/#create-a-release)
For elementary projects, each repo uses Launchpad recipes to create daily builds from the master git branch and stable builds from the user-defined stable git branch (e.g. juno
) . So to summarize:
- Create or fast forward a release branch (aka step 5 of automated release process)
- Use Launchpad automatic git imports
- Use launchpad recipes to "daily" build the release branch in the stable PPA. (But since this branch is not updated daily, it'll only build release commits)
See the wiki sidebar (below on mobile) for other sections, sub-pages, etc.