-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test Linux and macOS with GitHub Actions #4081
Conversation
Updated to add macOS into the matrix! 🍏 It tests the same Python versions, and just needed a slightly different install step. |
@python-pillow/pillow-team Any objections to including coverage tokens as plaintext? Will also unblock the Actions/Windows build too: #4084. |
@hugovk Assuming no known security issues in doing that, no objections I can think of |
8c4c42a
to
5879918
Compare
Actions: One of the jobs timed out, so I clicked to "Re-run all checks" and all the checkouts failed. Reported here. |
5879918
to
65ad60a
Compare
Rebased on master. |
65ad60a
to
4dd90d9
Compare
Is the fact that checkouts might fail on a rerun enough of a problem to keep this from being merged at the moment, or is it something we can live with? |
It's enough to stop GHA fully replacing Travis CI etc., but as @nulano said in #4084 (comment), we should keep the old CIs at least until GHA is out of beta (13 November). There's also some question about coverage (#4084 (comment)), but I think we're good to merge, we can see how it goes and iterate. |
Okay to merge? |
367ce3d
to
707c991
Compare
I rebased and had a go installing PyQt5 like this: index d6676ace..3834da90 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -38,6 +38,8 @@ jobs:
if: startsWith(matrix.os, 'ubuntu')
run: |
.travis/install.sh
+ sudo apt-get -qq install pyqt5-dev-tools
+ pip install pyqt5
- name: Install macOS dependencies
if: startsWith(matrix.os, 'macOS') But it failed like this:
So took that out for now. Also added Will merge when green. |
For #3606.
Changes proposed in this pull request:
This does the same tests as the "native" (ie. non-Docker) builds on Travis CI:
pypy2PYTHONOPTIMIZE=1
PYTHONOPTIMIZE=2
2.7Not available on GitHub Actions:
"2.7_with_system_site_packages" # For PyQt4
3.8-dev
Also rename some variables in
lint.yml
for consistencyTravis scripts
Happily GitHub Actions runs the
.travis/*.sh
scripts with no problems. There's anif [ "$TRAVIS_PYTHON_VERSION" == "2.7" ]; then make doccheck; fi
in one, I've added the same doccheck as its own step here for GHA.Linux
This only runs on
ubuntu-latest
, currentlyubuntu-18.04
Bionic.ubuntu-16.04
Xenial is also available.https://help.github.com/en/articles/virtual-environments-for-github-actions#supported-virtual-environments-and-hardware-resources
Should we explicitly say
ubuntu-18.04
instead ofubuntu-latest
? I'm thinking yes.Should we also test Xenial? (If so, this will be a follow-up.)
Coverage
This does coverage.
TODO
CODECOV_TOKEN
at https://github.com/python-pillow/Pillow/settings/secretsCOVERALLS_REPO_TOKEN
at https://github.com/python-pillow/Pillow/settings/secretscoveralls-merge
, so let's silence itNow, unfortunately these tokens are not yet available for forks. Travis and AppVeyor don't use tokens because Codecov can autodetect those. That's not yet the case for Azure Pipelines and GitHub Actions. There's a workaround for AZP to make secrets available to forks. I've requested it for GHA and they said they'll take a look.
Downsides of this:
It's not ready yet
It would be possible for people to find out these tokens, but as Hynek mentions in his AZP workaround: "However, the token is worthless for anything except uploading coverage and it’s easy to see when someone does it."
It would make other secrets available to forks (eg. GitHub Action to add issue or PR to project #4071)
Alternatively, how about we just include them as plaintext in the YAML?
Downsides:
https://codecov.io/gh/python-pillow/Pillow/settings)