[core-workflow] Starting the improved workflow discussion again

Brett Cannon bcannon at gmail.com
Mon Jul 20 21:49:50 CEST 2015


In my ideal workflow scenario, these are the steps a patch would take:

   1. Issue is created
   2. Issue is triaged to have right affected versions, etc.
   3. Patch is uploaded
   4. CI kicks the patch off for *all* branches and OSs that are affected
   5. CI flags what branches and OSs did (not) pass or apply cleanly to
   6. If necessary, another patch that works in a specific branch that is
   affected is uploaded (obviously requires some way to flag that a patch
   applies to a specific branch, deciding how to deal with Misc/NEWS, etc.)
   7. Code review -- with a tool other than Rietveld -- from a core
   developer with feedback
   8. New version of patch uploaded, usual CI kicked off
   9. If everything looks good and CI is green, get patch approval from a
   core dev
   10. Approval submits the patch(es) to the appropriate branches
   11. CI triggered yet again, and if tests fail then patch(es) are
   automatically rolled back

Now I realize this is not about to launch immediately. There are changes to
Roundup in there, a reliable test suite that actually fails only on
failures and not because it's flaky, etc. But the key point here is that
everything that can be automated is, and code reviews can occur entirely
through a browser.

The independent parts I see here are (which probably all require some
Roundup integration to be effective):

   - CI for every patch
   - A new code review tool
   - Automated/browser-based handling of VCS (e.g., submission, rollback)

Once the pieces are in place then they can be tied together and drive each
other (e.g., code review tool submitting a patch, CI tool automatically
handling rollbacks, etc.), but that is not necessary to make forward
progress.

I'll let Nick and Donald chime on what exactly their proposals can do today
and what they will need to make the magical workflow happen. =)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/core-workflow/attachments/20150720/ef7f917f/attachment.html>


More information about the core-workflow mailing list