-
Notifications
You must be signed in to change notification settings - Fork 66
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 modern versions of CPython and PyPy and macOS #362
Conversation
cclauss
commented
Nov 28, 2023
•
edited
Loading
edited
+ - "3.11" + - "3.12" + - os: "ubuntu-latest" + python: "pypy-3.10" + - os: "macos-latest" + python: 3.x
.github/workflows/ci.yaml
Outdated
- os: "ubuntu-latest" | ||
python: "pypy-3.10" | ||
- os: "macos-latest" | ||
python: 3.x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use explicit ubuntu-22.04
and macos-12
here please, the more pinned, the better for CI stability. Can we pin 3.x
any more? Is this intended to be 3.13 pre-release?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My Mac is running 14.1.1. Why do we want to pin to an OS that is two major versions behind the current macOS?
Python 3.x
pins to the latest released version of CPython which will remain 3.12
until October 2024.
I like it when CI highlights when OS upgrades break the tests rather than waiting for users to complain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @cclauss, thanks for the adjustments!
My Mac is running 14.1.1. Why do we want to pin to an OS that is two major versions behind the current macOS?
Because macos-latest
is macos-12
is of today, see https://github.com/actions/runner-images#about . Their macos-13
is in beta and they have no 14 as of today.
I like it when CI highlights when OS upgrades break the tests rather than waiting for users to complain.
That is a great idea in its core but broken CI means that e.g. all new pull request starting before a fix will have no chance on a green CI, and I have seen broken CI that no one fixes for weeks in too many places to ever want to go into the red zone voluntarily. The approach with testing against the latest moving things only really works well when the errors are ignored but notified about. Latest time I checked, GitHub Actions doesn't allow operation like that in practice, happy to be proven wrong about that for today. The best approach I know is pinning evereything hard and let a machine produce auto-update pull requests. What Dependabot and Renovate cannot cover, you can cover yourself e.g. using https://github.com/peter-evans/create-pull-request . That was the long version, I hope that was in your interest.
Python
3.x
pins to the latest released version of CPython which will remain3.12
until October 2024.
Let's make it 3.12 then for CI stability, please.
Oh... Now I see that all pytests except one are skipped on macOS and Windows...
Are macOS and Windows supported or not? Homebrew/homebrew-core#155740 @chenrui333 |
Windows and OSx aren't supported in the sense that we don't identify them. It doesn't mean that distro can't run on them, we just won't identify their distributions. There's been an open issue for this for a very long time now (#177), but, apparently, it wasn't urgent for anyone to actually finish the job. You're more than invited. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cclauss thanks for the pinning! 🙏
yeah, that is what I saw in my test as well. this is the running result on ventura arm machine. $ distro --json
{
"codename": "",
"id": "darwin",
"like": "",
"version": "22.6.0",
"version_parts": {
"build_number": "0",
"major": "22",
"minor": "6"
}
} |