Gerrit/workflow/ops
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. |
Please do not mark this page for translation yet. It is still being drafted, or it contains incomplete translation markup which should be fixed before marking for translation. |
This is a rough proposal for Gerrit to better fit the operations/puppet.git
workflow.[1]
The repository is maintained by WMF operation team and is also used by WMF non-ops staff as well as volunteers from the community.
The repository has only one branch: "production".
Use cases
The workflow depends on the role of the user:
- ops, minor change
- git push their commit
- self approve their change
- ops, work in progress change
- git push their commit
- find a pair to review
- get approved
- non-ops
- git push the commit
- find an ops to review
- op approve the change
Enhancement proposals
Various proposals were discussed:
refs/autoplustwo
Add a new reference system in Gerrit to have a change autoapproved. Something like refs/autoplustwo. When one git push origin master:refs/autoplustwo/master, Gerrit would autoapprove the change. The push to that ref tree would be restricted to ops. This is probably not trivial.
Plugin
Write a plugin for the RefUpdated hook in 2.5 that will handle auto-approval. This probably is doable, but would need a bit of work (less than above, though)
Notes
- ↑ Puppet on Wikitech and puppet.git in Git review