Basic bugfix/new code:
- write the code
- commit (locally)
- push it (to -- integration repo)
- if a bug does not exist
- autocreate the bug
- commit hook will do this (on client side)
- only vetted contributors
- the commit will be referenced in the bug
- the commit should be put up for review (if r= is not specified or similar)
- there must be a ticking clock on these reviews
- need very visible dashboards tracking unreviewed commits
- no unreviewed stuff ends up merged to Aurora
Integration Repo Mechanics
- bare minimum should be that it builds and does what you expect on your machine, and that relevant tests work
- basically exactly on inbound, with more tolerance for things being broken *as long as things are taken care of*
- tests run automatically on this
- both Quantum path and non-Quantum path
- we can do batching or argue for priority
- (subset of tests per commit, bigger set twice)
- if tests break or there's a compilation issue
- Auto yell in #gfx if we're confident enough it's not an intermittent orange (e.g. build break).
- patch that caused break gets backed out
- what happens if I push a patch and a test breaks that was passing before and...
- that test works fine on my machine?
- judgement call - leave it in and fix it, or back it out
- but only if that affects Q path only
- if it affects regular gecko path..
- that test works fine on my machine's platform (I'm on Windows), and fails on Mac on tests?
- judgement call, same as above
- might be okay to get someone to commit ot fixing Mac in the next few hours, and leave Mac broken for a few hours
- "leaving things in" will be harder as time goes on
- over time, you don't get to leave Mac broken
- merging from m-c to this repo
- sheriffs do it (daily)
- if there are issues, they ping someone and we need to fix
- merging from this branch to m-c
- all tests need to be green
- meaning we can disable quantum-only tests and file bugs
Implementing this workflow with current tools
- commit hook to autocreate bug
- that works on all platforms
- might need a git equivalent
- some kind of tag "r=post" to flag things that are post-reviewed
- we need a tool to cross-reference bugzilla to make sure commits are reviewed
- make sure we don't miss anything
Magical github workflow
- things are still mirrored to bugzilla (and bugs only live in bugzilla)
- but not from bugzilla to any github tool
- using reviewable
- quick review directly in commit stream
- review comments get pushed to bugzilla
- allowing pull requests from outside
----------
webrender repo
- we will cargo vendor webrender stuff into m-c ourselves