Hi devs,
Vincent asked me to write down the time I spend doing the release so
that we can see what part of the release process needs to be improved.
Here's the result:
(1) Stabilize the build, making sure all tests pass on CI: up to 4 days
(2) Update translations: ~15min (lots of unsignificant changes that
have to be reviewed and ignored)
(3) Set up the release agent: ~10min
(4) Release on Jira, checking opened issues for partial commits,
moving or splitting issues: ~30min (it really depends on how many
issues have the "Fix Version/s" set to the released version and are
not yet closed)
(5) Write the release notes: from 2h to a full day (the relatively
easy part is scanning closed Jira issues for new features, upgrades,
important bugfixes, migration or backward compatibility problems; then
you have to push developers to document the new features and the
migration problems that they have introduced -- this takes longer)
(6) Maven release: ~2h (if everything goes smoothly, otherwise you
maybe have to spend an additional 1h to fix cyclic dependencies or bad
dependency versions)
(7) Collect Clirr report and clean up the release agent: ~10min
(8) Paper work (announcements/news): ~1h 30min
As you can see the most time consuming is:
* stabilizing the build -> committers should check the CI after they commit
* writing the release notes -> committers should document their work
on
XWiki.org before the release day
Thanks,
Marius
P.S.: Kudos to Sergiu and Caleb for the (semi-)automated release script!