Skip to content
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

Move non-x86 tests to GHA #5088

Merged
merged 4 commits into from
Dec 18, 2020
Merged

Move non-x86 tests to GHA #5088

merged 4 commits into from
Dec 18, 2020

Conversation

nulano
Copy link
Contributor

@nulano nulano commented Dec 11, 2020

For #5028 (comment).
Companion to python-pillow/docker-images#98.
Includes #5091.

Move tests of arm64v8, ppc64le, s390x from Travis CI to GHA Docker tests using aptman/qus.

Other changes:

The new tests will fail until the new images get pushed, see run in my branch for now: https://github.com/nulano/Pillow/actions/runs/416245841

Speed comparison (approximate)

Architecture Travis CI GHA / Create Docker image GHA / Test in Docker image GHA Total
arm64 7 min 15 min 50 sec 8 min 15 sec (1.18x Travis) 24 min 5 sec
ppc64le 4 min 20 sec 16 min (*) 9 min 15 sec (2.15x Travis) 25 min 15 sec (*)
s390x 2 min 15 sec 14 min (*) 11 min 45 sec (5.22x Travis) 25 min 45 sec (*)

*: The ppc64le and s390x image builds currently fail a bit early due to new test failures, the install time will be slightly longer.

The total is a bit faster than I saw in #5028 (comment) mostly because it installs WebP from apt-get instead of compiling locally. More importantly, only the test times should matter, which are in line with cache-miss Windows tests and slightly slower than macOS tests.

Dependency versions:

Travis CI (removed):

--- PIL CORE support ok, compiled for 8.1.0.dev0
*** TKINTER support not installed
--- FREETYPE2 support ok, loaded 2.6.1
--- LITTLECMS2 support ok, compiled for 2.6
--- WEBP support ok, loaded 1.1.0
--- WEBP Transparency support ok
--- WEBPMUX support ok
--- WEBP Animation support ok
--- JPEG support ok, compiled for libjpeg-turbo 1.4.2
--- OPENJPEG (JPEG2000) support ok, loaded 2.1.2
--- ZLIB (PNG/ZIP) support ok, loaded 1.2.8
*** LIBTIFF support not installed
*** RAQM (Bidirectional Text) support not installed
--- LIBIMAGEQUANT (Quantization method) support ok, loaded 2.13.1
--- XCB (X protocol) support ok

Ubuntu Focal in Docker (python-pillow/docker-images#98):

--- PIL CORE support ok, compiled for 8.1.0.dev0
--- TKINTER support ok
--- FREETYPE2 support ok, loaded 2.10.1
--- LITTLECMS2 support ok, loaded 2.9
--- WEBP support ok, loaded 0.6.1
--- WEBP Transparency support ok
--- WEBPMUX support ok
--- WEBP Animation support ok
--- JPEG support ok, compiled for libjpeg-turbo 2.0.3
--- OPENJPEG (JPEG2000) support ok, loaded 2.3.1
--- ZLIB (PNG/ZIP) support ok, loaded 1.2.11
--- LIBTIFF support ok, loaded 4.1.0
--- RAQM (Bidirectional Text) support ok, loaded 0.7.0
--- LIBIMAGEQUANT (Quantization method) support ok, loaded 2.12.0
--- XCB (X protocol) support ok

@radarhere
Copy link
Member

(I see Raqm 0.7.0 in tests in this repo, but Raqm 0.7.1 in python-pillow/docker-images#98. Is it being replaced somewhere? Everything else matches exactly.)

Pillow uses the images from Docker that have been pushed by docker-images stable jobs. So when the next Pillow release occurs, docker-images stable jobs will have an updated version of Pillow that specifies 0.7.1 in 'depends/install_raqm.sh' and then it will be updated to 0.7.1 here.

@nulano
Copy link
Contributor Author

nulano commented Dec 12, 2020

Oh right, I was looking at the latest jobs, not stable.

@hugovk
Copy link
Member

hugovk commented Dec 12, 2020

Thank you!

Similar to my comment at python-pillow/docker-images#98 (comment), these timings aren't too bad (especially if Travis is essentially dead!), and it's worth trying it out.

Let's also put these slower ones first in the matrix here as well.

@nulano
Copy link
Contributor Author

nulano commented Dec 12, 2020

I reordered the images and opened #5091 with just the xfail part of this.

@hugovk hugovk added the Testing label Dec 14, 2020
@radarhere radarhere merged commit 9e3ad5e into python-pillow:master Dec 18, 2020
@nulano nulano deleted the gha-qus-2 branch October 15, 2021 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants