-
-
Notifications
You must be signed in to change notification settings - Fork 134
Release Process
Cassidy James Blaede edited this page Nov 1, 2019
·
38 revisions
There are 2 stages to the package release process:
-
Create a pull request with a new feature or fix
-
Ensure the AppData contains relevant release notes in the PR, i.e.:
<release version="1.0.1" urgency="medium"> <description> <ul> <li>changelog contents</li> <li>More changelog contents</li> </ul> </description> </release>
This process makes for less work at release time, plus allows time for the release description to get translated before the release
-
PR is reviewed, approved, and merged
-
TODO: Updates translation files when there are string changes and pushes it to
master
- Auto-imports the
master
branch from git - Builds it into a package in the daily repo for testing
- Create a release PR based off of the
master
branch - Fill out the PR template:
- Verify the versioning for the new release in Meson and AppData (i.e. if it's a x.y.patch or x.minor.z bump)
- Verify screenshots, AppData, etc.
- Fill in/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 into
master
- Updates the Debian changelog in the
deb-packaging
branch using a sanitized commit log - 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 - Merges the
master
branch into the user-defined stable branch (eg.juno
) to enable stable Launchpad builds - Pushes a next-version commit to master including:
- An empty AppData release with a patch version bump
- TODO: a patch version bump in Meson
- Auto-imports the defined stable branch from git
- Builds it into a package in the stable repo, which is made available to users
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.