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

Python 3.11 #16

Merged
merged 16 commits into from
Sep 21, 2022
Merged

Python 3.11 #16

merged 16 commits into from
Sep 21, 2022

Conversation

altendky
Copy link
Contributor

@altendky altendky commented May 12, 2022

Draft for:

@arvidn
Copy link
Contributor

arvidn commented May 12, 2022

iirc, there was also some other trick @richardkiss had to pull to get maturin to work on windows.

@richardkiss
Copy link
Contributor

Note that a single binary is built for all python versions for a given platform. Because of this, I don't think it's actually necessary to check all versions of python.

@richardkiss
Copy link
Contributor

As for the Windows-specific stuff, I'd recommend looking at how the windows build works elsewhere.

Ideally, we should serialize these process – create a wheel, export it as an artifact, then import that artifact by dependent testing and benchmark actions. This would let us build the wheel just once, and also test just that particular binary.

It would take a Github Actions wizard to do this for sure, but it's the right way.

@altendky
Copy link
Contributor Author

I've done exactly that sequence in other projects and have commented on it at various points here, but I haven't taken it on myself to actually switch over here. Let alone for a dozen or whatever repos...

https://github.com/altendky/ciborg/actions/runs/363450564 is an example.
image

As to testing more Python versions, I personally default to testing the matrix we claim to support, until it gets onerous. I think that our support repos like this are low enough traffic and the tests are quick enough that the CI runtime overhead is negligible. In some sense there is added overhead in the CI setup complexity, but if we maintain it then we get the benefit of consistency across projects which is an alternative benefit.

@richardkiss
Copy link
Contributor

I've done exactly that sequence in other projects and have commented on it at various points here, but I haven't taken it on myself to actually switch over here. Let alone for a dozen or whatever repos...

https://github.com/altendky/ciborg/actions/runs/363450564 is an example. image

As to testing more Python versions, I personally default to testing the matrix we claim to support, until it gets onerous. I think that our support repos like this are low enough traffic and the tests are quick enough that the CI runtime overhead is negligible. In some sense there is added overhead in the CI setup complexity, but if we maintain it then we get the benefit of consistency across projects which is an alternative benefit.

A comment here... I think ideally you want to build the sdist first, and use just that as an input to build each wheel. That way, we have a high confidence that the sdist is being built and is legit.

@altendky altendky closed this Sep 12, 2022
@altendky altendky reopened this Sep 12, 2022
@altendky altendky marked this pull request as ready for review September 12, 2022 23:21
.github/workflows/benchmark.yml Show resolved Hide resolved
@emlowe emlowe merged commit 350fe2f into main Sep 21, 2022
@emlowe emlowe deleted the python_3.11 branch September 21, 2022 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants