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

GitHub Actions: use macos-13 or macos-14 instead of macos-latest #8010

Merged
merged 2 commits into from
Apr 24, 2024

Conversation

hugovk
Copy link
Member

@hugovk hugovk commented Apr 24, 2024

GitHub is migrating macos-latest to point to macos-14 which is (a) M1 and (b) does not have Python 3.8 or 3.9:

This can cause failed builds for migrated repos.

At least during this migration, let's explicitly use macos-13 or macos-14 instead of macos-latest.

@hugovk hugovk added the Testing label Apr 24, 2024
@radarhere radarhere merged commit 41270f3 into python-pillow:main Apr 24, 2024
80 of 81 checks passed
@hugovk hugovk deleted the fix-ci-3.8-3.9 branch April 24, 2024 12:23
@hugovk
Copy link
Member Author

hugovk commented Apr 26, 2024

GitHub has now added Python 3.8 and 3.9 to macos-14/Apple Silicon:

actions/setup-python#808 (comment)

We can save about 45s of CI time if we switch them all to macos-14:

macos-13 / Python 3.9 / 3m 50s	
macos-13 / Python 3.8 / 3m 37s

https://github.com/python-pillow/Pillow/actions/runs/8840522550/usage

macos-14 / Python 3.9 / 3m 15s
macos-14 / Python 3.8 / 3m 27s

https://github.com/hugovk/Pillow/actions/runs/8843777263/usage

Which is a nice little saving, but not huge in the scale of our CI.

The question is, shall we keep testing at least one job on macos-13/Intel to increase our test surface?

Might help find some bugs.

@radarhere
Copy link
Member

Python 3.9.1 was the first version of Python to support Silicon, but it looks like it was only backported to Python 3.8 in 3.8.10.

It's not really a strong argument, but that makes me think we should keep macos-13 until Python 3.8 is EOL at least?

@hugovk
Copy link
Member Author

hugovk commented Apr 26, 2024

Sure, although we'll still have Intel users for a while longer.

The internet speculates Apple might support Intel until 2025 or 2026 or 2027, and that we'd have to wait to see what Apple actually decides because they've not announced anything.

@radarhere
Copy link
Member

Regarding when users will actually stop using Intel, it's worth remembering that last month we received an issue about macOS 10.10, which is almost 10 years old at this point.

@hugovk
Copy link
Member Author

hugovk commented Apr 26, 2024

Indeed, and we don't have to support such old versions.

Anyway, I suggest we leave 3.8 and 3.9 on Intel for now.

@aclark4life
Copy link
Member

aclark4life commented Apr 26, 2024

Also depends on user demand. If you take away something and people notice it's gone, then we can always put it back. In general, I would drag along as broad a support as you can easily maintain. As the maintenance burden increases for older tech, you can base the decision to drop it on predicted user demand and act accordingly. If you need to support something you can't easily support, then it gets harder. 🤔

@hugovk
Copy link
Member Author

hugovk commented Apr 26, 2024

Yeah, it all adds up. I think a fair amount of effort has gone into maintaining old macOS versions, all of which is time away from everything else.

Having clear policies helps both our users and us. We have:

In general, we aim to support all current versions of Linux, macOS, and Windows.

Which means macOS 12, 13 and 14, not 10.10, 10.11, 10.12, 10.13, 10.14, 10.15 or 11 - 10.10 is very much no longer receiving security updates.

For the time-being, I don't mind keeping 10.10 along.

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