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

Enable Python 3.8 and 3.9 on M1 runners #1944

Merged
merged 1 commit into from
Jul 24, 2024

Conversation

EliahKagan
Copy link
Contributor

These were excluded in 9ad28c3 (#1817) due to actions/setup-python#808, which was later fixed by actions/python-versions#259.

Because Python 3.7 has been end-of-life for a while, it is very unlikely to have AArch64 builds added in python-versions for use on GitHub Actions CI runners (preinstalled or via setup-python).


This doesn't remove any jobs, so it contributes to the gradually increasing number of CI jobs, and the operating system with the most jobs that run the whole test suite is macOS, which is also the operating system for which the rate limits on runner usage (effectively, how many jobs can be run at the same time) are the most stringent. The effect is smaller than one might think, just because the M1 runners are so fast.

Nonetheless, it may make sense to remove some or even all macos-13 jobs. The main practical difference is not the operating system version but the architecture, and the correctness of GitPython doesn't seem to be highly dependent on the architecture it is run on. For example, although #1826 did not include a test job emulating the big-endian s390x architecture, in my local testing in Alpine Linux for s390x running in a Docker container leveraging QEMU to emulate that architecture, all tests passed. (I did not run the performance tests, which would be too slow. Also, to clarify, I have not repeated this testing recently or attempted to run fuzz tests in that setup, just noting what the situation was as of #1826.)

If everything is working here then I could open another PR to remove at least some of the macos-13 jobs. (If the number of jobs is considered excessive already, I could push another commit to this PR that does it.) Or that could wait until later, such as when deciding whether/when to remove Python 3.7 jobs, or when deciding what if anything to remove when adding Python 3.13 jobs (either experimental ones to test the beta, or when it is released).

These were excluded in 9ad28c3 (gitpython-developers#1817) due to
actions/setup-python#808, which was later
fixed by actions/python-versions#259.

Because Python 3.7 has been end-of-life for a while, it is very
unlikely to have AArch64 builds added in python-versions for use
on GitHub Actions CI runners (preinstalled or via setup-python).
@Byron
Copy link
Member

Byron commented Jul 24, 2024

Thank you very much.

Nonetheless, it may make sense to remove some or even all macos-13 jobs. The main practical difference is not the operating system version but the architecture, and the correctness of GitPython doesn't seem to be highly dependent on the architecture it is run on.

I'd definitely like that and appreciate your thinking, let's use resources effectively where we can. A separate PR will be easier for me to handle as I can wrap up this one then.

@Byron Byron merged commit 6d2fc00 into gitpython-developers:main Jul 24, 2024
28 checks passed
@EliahKagan EliahKagan deleted the ci-arm-more branch July 24, 2024 08:24
@EliahKagan
Copy link
Contributor Author

I'd definitely like that and appreciate your thinking, let's use resources effectively where we can. A separate PR will be easier for me to handle as I can wrap up this one then.

I've opened #1946 for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants