This page provides a working roadmap to implement Foundations/Proposals/SimplifyMergeMachinery.
Feel free to edit this page. If you have any questions, please ask gary or mars.
Remember: Subscribe to Page Changes
Milestone 1: The ghost line
The goal: to have a landing system that tests and merges branches into shadow-stable, but does so without telling anyone. We also have calculated the current average time-to-land, and have measured our new ghost line's average time-to-land.
What has to be done:
- one server (internal cloud or a VM from the LOSAs)
- one lander program
- seek to stabilize our work on a Tarmac major release
- Ask the LOSAs what they currently deploy, what they are capable of deploying
- Check that merge queues won't destabilize our work
- one branch, shadow-stable
- a running test suite
- suite should be running under the PQM chroot script, ask LOSAs
- tree stable timer
- a script to measure time-to-land
- the lander watches real 'Approved' devel merge proposals
- measure results
The shadow-lander system can be used throughout the project as a sandbox to avoid experimenting on real systems.
Milestone 2: The stable line
The goal: to have Approved merge proposals for stable being landed to stable by our landing system. Development no longer happens on the devel branch.
What has to be done:
- real servers
- Ask LOSAs for all three systems now to save RT time (front-loading)
- real lander
- real notifications from the lander
- commit message checking (same as PQM has)
- lander merges to stable
lp-land, ec2 land write correct commit message tags to the merge proposal for you
- trial run for volunteers
- switch development from devel to stable
- developers stop merging to devel, start merging to stable
- devel has been removed from rocketfuel-setup and bazaar.locations
- PQM rejects devel submissions
- measure
- Plan for operations (LOSA) handoff
Milestone 3: The db line
The goal: to have Approved merges for db-stable being landed by the landing system, with merges to stable also being tested and merged into db-stable. Development no longer happens on the db-devel branch.
What has to be done:
- second lander, server, etc.
- lander merges to shadow-db-stable
- copy changes from stable to shadow-db-stable
- switch off the poller
- lander merges to db-stable
- trial run for volunteers
- switch development from db-devel to db-stable
- measure
Milestone 4: The production line
The goal: to have Approved merges to production-stable being landed by the landing system.
What has to be done:
- third lander, server, etc.
- trial run for volunteers
- switch development from prod-devel to production-stable
- (optional) Re-purpose the poller to automate QA-passed cherry picks
- measure
Milestone 5: Sunset
- Operations handoff
- switch off buildbot
- remove devel, db-devel, production-devel
- update all wiki documentation mentioning the devel branches
- decommission the shadow lander system