Revision as of 10:22, 29 September 2015 by David williams.acm.org (Talk | contribs) (Changed title and added parent pom)
This page is to provide a checklist of "release engineering" tasks that must be done at various stages of development.
Note: this page is "just getting started" and will be added to incrementally, as phases are gone through and new things remembered to document. Also, as it develops the structure may change substantially, so "header links" may not stabilize for a while, and hence would be best not to use headers in links ... at least for a while, until it takes it's final form.
- 1 Before Major (June) release
- 2 After Major (June) release
- 3 After any Release
- 4 Milestones
Before Major (June) release
- lots to come, for this section
After Major (June) release
Update no-version-in-url repository composites
- Update the 4 repo composites that have no version in URL (I-builds, M-builds, N-builds, milestones)
After any Release
- Prepare bugzilla to guide and remind us to "Tag a Release".
- Prepare bugzilla (and code) to update the parent pom to "next version".
- Be sure build calendar is up to date (ideally, at least a few weeks before the milestone).
- For milestone stabilization week, the nightly cron jobs are disabled, twice daily I-build cron jobs enabled.
- [TODO: perhaps provide copy of "current cron jobs" for illustration?]
Repo for Gerrit jobs
- After first I-build, change <eclipse-p2-repo.url> to point to I-builds, so that Gerrit jobs can "use the latest".
- This also requires to republish the parent pom, which is done automatically once per day.
- Note: this could be controlled in the Gerrit job itself, by using -Declipse-p2-repo.url=<what ever repo is desired>
Create and monitor "sign-off" bug
- Typically created after last I-build is complete, but can be created earlier.
- Project leads are added to CC
- Typically note is sent to platform-releng-dev, as added reminder, and so everyone can know, if interested.
Do special releng tests
- Some of these may be automated eventually ... but, until then ...
- Run b3 aggregator, at least locally, to see if any issues
- Confirm all jars are signed
- sanity check version numbers, names, etc. (i.e. run "repo tests" locally, until automated)
- confirm can "update" from previous milestone
Promote the milestone
- Happens after signed off ... though some initial steps can be done early if confident all is well.
- Add N*N variable to buildproperties.php. (TODO: automate)
- add "testNotes.html" to buildDirectory, with sign-off bug number. [TODO: automate]
- Initial step: run the "promote" job from appropriate directory, with appropriate changes for the I-build to promote, what labels should be. This puts artifacts "in place" but, "invisible" until deffered step. (This allows the promotion to be done "early" possible before all sign-offs, but also to allow some mirroring to occur, before being made visible.)
- Deferred step: run the "deferred steps" script created as part of the initial promotion. This makes things visible and tags the aggregator.
After milestone promotion
- Change cron jobs back to their normal schedule (nightly N-builds, weekly I-builds).
Gerrit jobs reference
- After first N-build, change <eclipse-p2-repo.url> back to point to N-builds repo, and republish parent pom.