Hi,

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
convenient.

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:
https://bugs.python.org/issue39837

Always run GitHub action jobs, even on documentation-only jobs:
https://bugs.python.org/issue40548

Make one Windows CI job mandatory:
https://discuss.python.org/t/make-one-windows-ci-job-mandatory/4047

Make Travis CI (and Windows x64 ?) mandatory:
https://github.com/python/core-workflow/issues/365

Make Windows (x64) GitHub action mandatory on master branch:
https://github.com/python/core-workflow/issues/368

--

It's so hard to get a bunch of reliable CIs on many platforms (Linux,
Windows, macOS) and minimize the failure rate :-(

Victor
-- 
Night gathers, and now my watch begins. It shall not end until my death.
_______________________________________________
python-committers mailing list -- python-committers@python.org
To unsubscribe send an email to python-committers-le...@python.org
https://mail.python.org/mailman3/lists/python-committers.python.org/
Message archived at 
https://mail.python.org/archives/list/python-committers@python.org/message/B6WVI254L7GEOCKUOHZ6XBZD4GCLAIBV/
Code of Conduct: https://www.python.org/psf/codeofconduct/

Reply via email to