Changes on CIs run on GitHub pull requests:
* Travis CI became mandatory
* Azure Pipelines is no longer mandatory
* Please watch Windows x64 job: I would like to make it mandatory in 2 weeks
I asked to make Azure Pipelines CI not mandatory on Python PRs since
there were more and more random failures and no one was available to
investigate. Also, sadly, currently Azure Pipelines has no way to only
re-trigger a single failed job, but requires to close/re-open a PR to
schedule all jobs. Sadly, some Python tests fail randomly and so
sometimes another CI fails. Also, for backport PRs, closing a PR
triggers miss-inlington which removes the branch which prevents to
re-open the PR. A new backport PR must be created which is not
Until Azure Pipelines issues are fixed, I asked Mariatta to make
Travis CI mandatory. In fact, I expected Travis CI to be mandatory, I
never noticed that it was optional. I didn't know that only Azure
Pipelines was mandatory!
I also asked Mariatta to make the GitHub Action ("GHA") Windows x64
job mandatory. GHA workflow jobs are skipped for "documentation only"
changes, to not waste CI resources. GHA configuration used
"paths-ignored". Sadly (again!?), if a job using "paths-ignored" is
mandatory, a PR cannot be merged because the mandatory job is skipped
and will never be run... Sadly, it even seems to be a known GitHub
issue which is not going to be fixed soon!
I removed "paths-ignored" to always run jobs, to be able to make a job
mandatory. Then Filipe Laíns found a way to add a new quick (around 15
seconds!) job just for check if a change is documentation only: the
job result is then used to decide if build jobs must be skipped.
In short, the behavior is the same than previously: GHA build jobs are
skipped on documentation only changes. The main difference is that it
became possible to make a GHA job mandatory.
I backported the GHA workflow configuration to Python 3.8 and 3.7.
Mariatta suggested to watch the Windows x64 job for 2 weeks to check
if it's stable before making it mandatory.
Hopefully, in my experience, the Windows x64 job is (very) reliable.
By the way, the GHA macOS job fails randomly, I have no idea why. For
example, I saw the job being cancelled after 5 minutes for an unknown
reason. I read that a job can be cancelled if "fail fast" is used and
another job fails. It doesn't seem like we use "fail fast" and others
jobs passed successfully.
Links to CI changes.
Make Azure Pipelines optional on GitHub PRs:
Always run GitHub action jobs, even on documentation-only jobs:
Make one Windows CI job mandatory:
Make Travis CI (and Windows x64 ?) mandatory:
Make Windows (x64) GitHub action mandatory on master branch:
It's so hard to get a bunch of reliable CIs on many platforms (Linux,
Windows, macOS) and minimize the failure rate :-(
Night gathers, and now my watch begins. It shall not end until my death.
Dear follow core developers,
I would like to invite you to attend this year's EuroPython conference:
The conference will be held online from July 23-26 and we took special
care to add slots which can easily be followed from pretty all around
The first two days are conference days, with over 110 sessions.
We'll announce the schedule preview in the coming days.
We'll also have sprints on the weekend of July 25-26 where teams
can get together in Jitsi or Zoom rooms and use our Discord server
This would make a great platform for a CPython sprint or
for a specific CPython project. Joining sprints is free and we already
have quite a few signups, so this would be a great way to find
more potential core developers.
Since you are core developers, joining the conference will be
particularly easy as well. In 2018, the EuroPython Society (EPS)
decided to put up a Guido van Rossum Core Developer Grant, which allows
core developers to get free tickets to all future EuroPython
Would be great to meet some of you at the event.
Professional Python Services directly from the Experts (#1, May 26 2020)
>>> Python Projects, Coaching and Support ... https://www.egenix.com/
>>> Python Product Development ... https://consulting.egenix.com/
::: We implement business ideas - efficiently in both time and costs :::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
So by my own mistake in the GitHub UI, I was looking at a previous commit
for one of my PRs (https://github.com/python/cpython/pull/19282) and
misclicked the "revert commit" button instead of "view details".
Fortunately, this only created a separate branch in the cpython repository
instead of actually reverting anything (see
but I'm unsure of the best way to remove the branch or if I'm even able to.
Sorry about the mixup, I'm rather new to the core developer role and this
is my first time running into anything like this.
Le mer. 20 mai 2020 à 02:39, Terry Reedy <tjreedy(a)udel.edu> a écrit :
> First, with 2.x really past us, is removing remaining long deprecated
> features, plus some others advocated for removal. I think these are
> best done by the first alpha so that early testers are rewarded with an
> early opportunity to change their code or else object to the removal.
I tried to remove as much deprecated features as possible at the
beginning of the 3.9 dev cycle. Many people contributed to this task,
see the length of the Removal section :-)
Later, aliases to ABC in the collections and the "U" mode of open()
were reverted in 3.9, with the idea of removing them again in 3.10.
Just to give one cycle to the community to drop Python 2 and fix these
deprecation warnings. The What's New In Python 3.9 documentation
starts with a long warning about deprecation warnings:
Night gathers, and now my watch begins. It shall not end until my death.
In light of the release of Python 3.9b1, let’s take a moment to celebrate all the great work that our Python 3.8 and 3.9 release manager Łukasz has done. The role of Python Release Manager is hugely important to each successful release, and it can be a lot of work, often unseen and thankless to shepherd a new Python version through its first alpha release to its last security release. With all of your immeasurable help, the Release Manager ensures solid, feature-full releases that the entire Python community eagerly awaits.
Łukasz carries on the fine tradition of all of our past release managers, and now that his second release has entered beta phase, I’m very happy to announce our next Release Manager, for Python 3.10 and 3.11: Pablo Galindo Salgado!
Since becoming a core developer in 2018, Pablo has contributed significantly to Python. With the change to an annual release cycle (PEP 602, authored by Łukasz), the time commitment for release managers has been reduced as well, and we will continue to look for ways to make the selection process for release managers more transparent and accessible. I know that in addition to admirably managing the releases for 3.10 and 3.11, Pablo will also help to continually improve the process of selecting and serving as release manager.
Please join me in welcoming Pablo in his new role!
Along with the release of Python 3.9.0b1, a 3.9 maintenance branch was created and the master branch now holds work that will become Python 3.10a1 at some point. This change was made here: https://github.com/python/cpython/pull/20198 <https://github.com/python/cpython/pull/20198>
Note that this means you have to have your bugfix pull requests backported to 3.9 using the newly created GitHub label. If you don't do this, they will only be available in Python 3.10.
Note I wrote bugfix pull requests. We entered the beta phase and new features will have to wait until next year's release.
Creating a new maintenance branch is the most manual piece of the release process we have. If you notice any place where Python 3.10 is missing in a list, or that suggests that master is still Python 3.9, let me know and we'll handle it. Thank you to Victor Stinner who proactively found a bunch of those things very quickly. (Julien is taking care of the JS version pickers in the docs.)
X-post to python-committers, python-dev, and core-workflow mailing list
I have just deployed a change to bedevere-bot to address the security
concern related to automerging.(
Previously, if core dev has approved the PR and applied the "automerge"
label, the PR will be automatically merged as soon as all the required CI
checks passed. If the PR author added another commit after the PR has been
approved but before the automerge happened, the additional commit will get
merged in without additional review.
Now, if there is a new commit after the PR has been approved, it will not
be automerged until the the core dev re-reviews it. bedevere will remove
the "awaiting merge" label and apply the "awaiting core review" label.
Hope this all makes sense. And if you see any of the bot misbehaving,
please open a ticket either in core-workflow repo or in the bot's own repo.