-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Test Linux and macOS with GitHub Actions #4081
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
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=1PYTHONOPTIMIZE=22.7Not available on GitHub Actions:
"2.7_with_system_site_packages" # For PyQt43.8-devAlso rename some variables in
lint.ymlfor consistencyTravis scripts
Happily GitHub Actions runs the
.travis/*.shscripts with no problems. There's anif [ "$TRAVIS_PYTHON_VERSION" == "2.7" ]; then make doccheck; fiin one, I've added the same doccheck as its own step here for GHA.Linux
This only runs on
ubuntu-latest, currentlyubuntu-18.04Bionic.ubuntu-16.04Xenial 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.04instead 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_TOKENat https://github.com/python-pillow/Pillow/settings/secretsCOVERALLS_REPO_TOKENat 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)