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

Test on new Travis CPUs #4336

Merged
merged 5 commits into from Jan 13, 2020
Merged

Test on new Travis CPUs #4336

merged 5 commits into from Jan 13, 2020

Conversation

hugovk
Copy link
Member

@hugovk hugovk commented Jan 5, 2020

Helps for #3606.

New CPU architectures

Now we've moved a lot of testing to GitHub Actions, we should still use Travis CI for testing things which are unique to it, to get good coverage.

Travis has recently made available new CPU architectures, in addition to the existing amd64.

Changes proposed in this pull request

  • Run tests on the new arm64, ppc64le and s390x architectures

  • Skip install of pyqt5 because "ERROR: Could not find a version that satisfies the requirement pyqt5"

  • The known s390x test failures (Big-endian test failures on IBM Z #4213) are skipped as expected failures when run on CI: we should still aim to fix them, but there's value in running the other tests

This draft* PR is to illustrate the new CPUs on each Python version. I don't intend we test them all on Python versions, just a single version for each CPU.

(* Was meant to be a draft but I clicked the wrong button...)

Cold cache

image

https://travis-ci.org/hugovk/Pillow/builds/632753494

Warm cache

image

https://travis-ci.org/hugovk/Pillow/builds/632884754

Generally the cold cache build times are about the same for each Python version, with newer versions a bit slower than older ones, except 3.8 on s390x is many times slower.

Warm cache times are closer, but let's optimise for cold caches, which is the case for PR branches.

Suggestion

Avoid Python 3.8 for now, spread over other versions. For example:

  • s390x on Python 3.5
  • arm64 on Python 3.6
  • ppc64le on Python 3.7

@hugovk hugovk added Build Testing Big-endian Big-endian processors labels Jan 5, 2020
@hugovk hugovk added this to New Issues in Pillow via automation Jan 5, 2020
@wiredfool
Copy link
Member

Oooh. Big Endian.

.travis.yml Outdated Show resolved Hide resolved
Tests/helper.py Outdated Show resolved Hide resolved
@hugovk
Copy link
Member Author

hugovk commented Jan 8, 2020

Also moved the scripts from .travis/ into .ci/ to because they're now not solely Travis CI, they're also used by GitHub Actions.

@radarhere
Copy link
Member

You mention in the initial description that you intended this as a draft PR. Is there still work to be done?

@hugovk
Copy link
Member Author

hugovk commented Jan 11, 2020

No, ready for review!

@radarhere radarhere merged commit 8606ae0 into python-pillow:master Jan 13, 2020
@hugovk hugovk deleted the travis_arch branch January 13, 2020 09:24
@nulano nulano mentioned this pull request Nov 3, 2020
7 tasks
@radarhere radarhere moved this from New Issues to Done in Pillow Apr 24, 2021
@radarhere radarhere mentioned this pull request Feb 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Big-endian Big-endian processors Build Testing
Projects
Pillow
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

4 participants