Release engineering¶
To forge a successful stable release of the Haiku operating system, several important tasks must be accomplished. These steps are time tested as a best roadmap to draft a successful release of Haiku.
Important first steps¶
Review blockers for the next release in Trac
- Active members of the contributors group should reach concensus on the need for a stable release
We try to have a release every year, but blocker tickets can prevent this from happening
It’s difficult to commit to strictly time-based releases because the available time of unpaid developers is unpredictable
- Community nomination of a Release Coordinator
Should be someone from the contributors group
Should have visibility of most aspects of Haiku
Should have good coordination and communication skills
Generally occurs via the haiku-development mailing list
Timeline proposals are proposed via the haiku-development mailing list
General Rules¶
Don’t rush the release. Better delay it a bit and take the time to make sure everything is ok.
Make sure the final image is really well tested.
Start planning early. Getting the release ready takes time. Waiting until a new release is urgent is a bad idea.
There will be another release. Maybe some big changes are too risky to integrate now, and should wait until the next release.
Forming a timeline¶
An important aspect of drafting a release is forming a timeline. The Release Coordinator’s role is to drive Haiku towards this release date.
Final date for enhancements in (RELEASE)
Branch buildtools for (RELEASE)
Branch haiku for (RELEASE)
Setup CI/CD pipelines for (RELEASE)
Generate first test candidates (TC0, TC1, etc), encourage extreme testing.
Begin accepting bugfixes in branches via code review
Final translations synchronization
Generate first release candidates (RC0, RC1, etc), encourage testing.
Profit
R1/Beta 2’s timeline from branch to release was roughly 35 days
R1/Beta 3’s timeline from branch to release was roughly 50 days.
Release dates can slide, it’s ok. We just try to slide pragmatically (+1 week because of X,Y,Z)