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.) | - | ? |