[python-committers] Wrongly stopping merges discourages merging.

Terry Reedy tjreedy at udel.edu
Sun Jun 3 16:23:08 EDT 2018


When we used hg, core dev committers could actually commit to the 
repository when they judged it appropriate.  When we moved to github, 
Brett, with whoever's approval, decided that we should no longer be 
trusted to make commits without approval of a couple of mindless robots. 
  However, the premise that the robots should be trusted is false.  So I 
again request that there be a manual override for when the robots are 
obviously giving false failures.

Exhibit 1. For at least a couple of weeksin may, faults in the asyncio 
test (and another) caused the asyncio test to randomly fail about half 
the time.  With one retest, each CI bot failed about 1/4 the time.  At 
least one bot of the two bots failed about 1/2 the time.  The AppVeyor 
queue ballooned.

One could decrease the frustration and time to success (but only partly) 
  by only re-starting the bot that failed.  Doing so for Travis is 
fairly easy.  Doing so with AppVeyor is obscure and error prone.

I twice requested that the randomly failing tests be disabled.  Victor 
said he wanted to keep monitoring what they did.  I think he overly 
discounted the pain and frustration of having good merges blocked.  I 
think either 1) bad tests should be disabled, or 2. the CI code should 
be able to ignore failures by bad tests, or 3. responsible core devs 
should be able to.

Exhibit 2. AppVeyor is badly broken.

This morning Cheryl Sabella submitted a nice patch fixing an annoying 
behavior of IDLE's editor/shell/output windows.  The CI tests passed, 
the patch worked great, it only needed expansion of the placeholder 
blurb.  I was really excited.

With some trepidation, I made the edit.  Unfortunately, both CI bots 
rerun the code tests even when the code is unchanged.  Blurb edits 
should be treated as doc-only changes, with only the blurb rechecked.

My trepidation turned out to be well-founded.  My excitement is gone. 
After an error, AppVeyor just quit without reporting any failure cause.
https://ci.appveyor.com/project/python/cpython/build/3.8build16869

Since then, there have been 2 successes and 7 similar unexplained failures.
https://ci.appveyor.com/project/python/cpython/history
https://ci.appveyor.com/project/python/cpython/build/3.6build16871/job/c2q80njh9clnfgjt
https://ci.appveyor.com/project/python/cpython/build/3.8build16872
https://ci.appveyor.com/project/python/cpython/build/3.7build16873
https://ci.appveyor.com/project/python/cpython/build/3.8build16874
https://ci.appveyor.com/project/python/cpython/build/3.6build16876/job/t9nyt59wkwcn68nk
https://ci.appveyor.com/project/python/cpython/build/3.8build16877
https://ci.appveyor.com/project/python/cpython/build/3.8build16878

The last is my restart.  The time wasted by this broken blockbot is time 
not spent doing something useful.  I would really like to have this 
patch in the .rc in a week -- along with a few others that should follow.

Guido once asked what is off-putting about being a core developer.  This 
is one thing.

Terry Jan Reedy


More information about the python-committers mailing list