-
-
Notifications
You must be signed in to change notification settings - Fork 278
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
maturin generate-ci github --pytest
: non-x86 architectures stuck on Python 3.10 for pytest
#2227
Comments
Yeah, pull requests are welcome! |
(same person, personal account) I just noticed GitHub has started migrating Python 3.13 will be out soon and I don't know whether 24.04 will update so I'll still see about getting a PR up for the deadsnakes approach later. I think codecov/codecov-rs#55 could be improved before merging:
I'll try to follow up, but if any other community members want to jump in that'd be welcome :) |
@mhammerly Had to revert #2231 because there is no 24.04 image support in run-on-arch-action yet. |
sorry about that! I just noticed that myself and was going to close the PR. |
I have encountered the same error with only |
Bug Description
The problem
I am trying to publish a package with
requires-python = ">=3.12"
set inpyproject.toml
and am having trouble with maturin's generated CI workflow (specifically trying to run pytest).When the
target
matrix value isx86
orx86_64
, pytest is run with the runner's Python version which, thanks toactions/setup-python
, is 3.12.x86
andx86_64
thus work fine for my 3.12-only package.However, when the
target
matrix value is anything else, the job usesuraimo/run-on-arch-action
to create an Ubuntu 22.04 image of the appropriate architecture to run pytest on. That image installs the latest version of Python in the stock Ubuntu 22.04 apt repository which is 3.10. My package requires 3.12, so the maturin action only built wheels for 3.12, so the job fails with an error like:(link to an actual run)
Workaround
codecov/codecov-rs#55 makes the
uraimo/run-on-arch-action
step set up the deadsnakes PPA, install Python 3.12 from it, and then set up a virtual env so pip will work. Here's a passing run from a test PR that took this approach.If that sounds like a good generic solution I can take a crack at opening a PR. Looks like it'd just be some changes in
src/ci.rs
? It doesn't look like there is a "latest" package in the deadsnakes PPA though so the hardcoded 3.12 version number would need to be updated down the line.Your maturin version (
maturin --version
)1.7.1
Your Python version (
python -V
)3.12
Your pip version (
pip -V
)pip 24.0
What bindings you're using
pyo3
Does
cargo build
work?If on windows, have you checked that you aren't accidentally using unix path (those with the forward slash
/
)?Steps to Reproduce
requires-python = ">=3.12"
set inpyproject.toml
.maturin generate-ci github --pytest > .github/workflows/publish.yml
.github/workflows/publish.yml
to remove Windows/macOS/musllinux, remove the publishing step, and trigger on PR (or however you'd like to test)x86
andx86_64
(good)aarch64
and probably other architectures (bad)The text was updated successfully, but these errors were encountered: