[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