Maybe this is not maturin-action's fault, I just don't know where to ask.
I created a github workflow using maturin generate-ci --pytest github > .github/workflows/CI.yml.
It builds a python3-rust hybrid package using maturin 1.4.0, pyo3 0.20.0 (github.com/mRcSchwering/magic-soup).
All OSs and architectures are built, and for Linux and MacOS the pytest step runs green as well (CI.yml below).
Just for Windows x86 the pytest step doesn't run.
Looking into the logs I can see that during the package installation in the test environment
it seems to ignore one of the package dependencies.
My package has 2 dependencies: numpy and torch.
During pip install magicsoup --find-links dist --force-reinstall it correctly starts to collect numpy.
But then it doesn't collect torch and instead continues to install my package from the cached wheel:
Processing d:\a\magic-soup\magic-soup\dist\magicsoup-0.10.2-cp310-none-win32.whl
Collecting numpy<1.27.0,>=1.24.0 (from magicsoup)
Downloading numpy-1.26.2-cp310-cp310-win32.whl.metadata (61 kB)
---------------------------------------- 61.2/61.2 kB 1.6 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of magicsoup to determine which version is compatible with other requirements. This could take a while.
Collecting magicsoup
Downloading magicsoup-0.10.1.tar.gz (8.0 MB)
---------------------------------------- 8.0/8.0 MB 11.1 MB/s eta 0:00:00
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting numpy<1.25.0,>=1.24.0 (from magicsoup)
Downloading numpy-1.24.4-cp310-cp310-win32.whl.metadata (5.6 kB)
Collecting magicsoup
Downloading magicsoup-0.10.0-py3-none-any.whl.metadata (5.5 kB)
Downloading magicsoup-0.9.1-py3-none-any.whl.metadata (5.5 kB)
Downloading magicsoup-0.9.1-py3-none-any.whl ([55](https://github.com/mRcSchwering/magic-soup/actions/runs/7143208086/job/19454171432#step:6:56) kB)
---------------------------------------- 55.1/55.1 kB 2.8 MB/s eta 0:00:00
Installing collected packages: magicsoup
Successfully installed magicsoup-0.9.1
Afterwards, when tests are started, it fails at import torch because it didn't install it.
This is strange because this behaviour doesn't exist in other OSs or architectures.
E.g. here is the same step but from MacOS x86_64:
As you can see it correctly installs numpy and torch.
I only have a Linux so I can't really reproduce this problem locally.
I only see it in the github pipeline.
Maybe this is not maturin-action's fault, I just don't know where to ask.
I created a github workflow using
maturin generate-ci --pytest github > .github/workflows/CI.yml
. It builds a python3-rust hybrid package usingmaturin 1.4.0
,pyo3 0.20.0
(github.com/mRcSchwering/magic-soup). All OSs and architectures are built, and for Linux and MacOS thepytest
step runs green as well (CI.yml below).Just for Windows x86 the
pytest
step doesn't run. Looking into the logs I can see that during the package installation in the test environment it seems to ignore one of the package dependencies.My package has 2 dependencies:
numpy
andtorch
. Duringpip install magicsoup --find-links dist --force-reinstall
it correctly starts to collectnumpy
. But then it doesn't collecttorch
and instead continues to install my package from the cached wheel:Afterwards, when tests are started, it fails at
import torch
because it didn't install it. This is strange because this behaviour doesn't exist in other OSs or architectures. E.g. here is the same step but from MacOS x86_64:As you can see it correctly installs
numpy
andtorch
. I only have a Linux so I can't really reproduce this problem locally. I only see it in the github pipeline.CI.yml