High-level release process
The goal of this high-level process is to identify what needs to be done for a release, and who can help making it happen.
This process applies to both major releases (e.g. 18.06, 19.07) and point releases (e.g. 18.06.5), except for the first part.
1. Preparing for a major release | ||
---|---|---|
Task | Duration | Who can do it |
Identify the feature set of the next release | - | Developers consensus |
Identify the target set of the next release | - | Developers consensus |
Decide when to branch | - | Developers consensus |
Create release branches | 1 hour | Developer with access to all repositories |
Create a new signing key | 1 hour | Developers |
Start building the new branch | 1 hour | Developer with access to buildbot |
Add release/<version> label to GitHub issues | ? | GitHub repository access |
Fix build issues in the new branch | weeks | All developers |
2. Making a release | ||
Task | Duration | Who can do it |
Identify release blockers | - | ? |
Fix release blockers | - | All developers |
Tag new version | 15 min | Developer with access to secret keys |
Build release images | 2 days | Developer with access to buildbot |
3.1 Quality assurance | ||
Task | Duration | Who can do it |
Monitor buildbot for build failures | 2 days | Anybody |
Look for missing images on the download server | 2 days | Anybody |
Basic runtime testing of a few devices | 2 days | Anybody |
Generate Docker images for target/SDK/imagebuilders | 1 day | Anybody with access to GitLab OpenWrt organization |
3.2 Documentation | ||
Task | Duration | Who can do it |
Document new features in the wiki | variable | Anybody |
Generate detailed changelog | 30 min | Anybody with wiki rights |
Write release notes | 1-2 hours | Anybody with wiki rights |
3.3 Update infrastructure | ||
Task | Duration | Who can do it |
Update stable/oldstable links on https://downloads.openwrt.org/ | 10 min | Sysadmin |
Update the ToH to work with the new release | 2h | Wiki admin (with ssh access) |
Update package list | ? | Wiki admin (with ssh access) |
4. Communication | ||
Task | Duration | Who can do it |
Update OpenWrt front page through the release page | 10 min | Wiki admin |
Write and pin an announcement in the forum | 10 min | Developers, Forum admin |
Close previous announcement topics and direct users to the new release topic | 5 min | Developers, Forum admin, TL4 forum users |
Send an announcement email to openwrt-devel and openwrt-announce | 10 min | Anybody |
Post an announcement on Twitter | 10 min | Anybody with access to the twitter account |
Update IRC channel topics | 5 min | IRC admin |
Update the History | 5 min | Anybody with wiki rights |
Update GitHub release (check result of PR) | 10 min | Anybody having GitHub org account |
Update wikidata https://www.wikidata.org/wiki/Q1140401?uselang=en#P348 | 5min | Anybody with wikidata rights |
5. Maintainance | ||
Task | Duration | Who can do it |
Keep track of bug reports for releases | 2-3 hour / week | Anybody |
Keep track of security issues | 1 hour / week | ? |
Backport fixes to release branches | - | Developers |
Decide when to put out a new point release (step 2.) | - | ? |