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

Start building WASM wheels against newer Pyodide (version 0.26.0) #742

Closed
agriyakhetarpal opened this issue May 14, 2024 · 4 comments · Fixed by #743
Closed

Start building WASM wheels against newer Pyodide (version 0.26.0) #742

agriyakhetarpal opened this issue May 14, 2024 · 4 comments · Fixed by #743
Assignees
Labels
CI Continuous integration enhancement
Milestone

Comments

@agriyakhetarpal
Copy link
Collaborator

agriyakhetarpal commented May 14, 2024

According to pyodide/pyodide#4751 and pyodide/pyodide#4713, a release for Pyodide 0.26.0 (Emscripten 3.1.52 + Python 3.12.2) should hit by Monday; a few days from now at the time of writing. This issue is being opened as a reminder to look to bump the configuration out-of-tree build in emscripten.yml and build against the newer versions because the ABI is going to break. This is probably not something to be done very urgently, but definitely sometime sooner or later, since the in-tree builds for PyWavelets will have been succeeding already.

@agriyakhetarpal agriyakhetarpal added enhancement CI Continuous integration labels May 14, 2024
@agriyakhetarpal agriyakhetarpal self-assigned this May 14, 2024
@agriyakhetarpal
Copy link
Collaborator Author

Pyodide 0.26.0 is now out and I started to do this, but I noticed that we don't have a pin on the pyodide-build version in the job, so it should use the newer Pyodide version automatically the next time it runs (which will be at 0300 hours UTC on the 3rd of June, 2024; in five days at the time of writing). Should we add a pin here, @rgommers? If not, should I unpin the job in numpy/numpy#26564 as well?

@rgommers
Copy link
Member

Not sure, it doesn't need to match the numpy repo for me. For NumPy it's more important that things don't break; on this repo we'll probably forget to update the pin if it's there.

I had a quick look, but I think CI is set up such that the Emscripten version is correct since it's retrieved from pyodide config. If it won't break, then there is nothing to do here.

I just triggered a run at https://github.com/PyWavelets/pywt/actions/runs/9283490221

@rgommers
Copy link
Member

Something broke indeed:

 Traceback (most recent call last):
  File "/home/runner/work/pywt/pywt/.venv-pyodide/lib/python3.11/site-packages/_pytest/cacheprovider.py", line 186, in set
  File "/home/runner/work/pywt/pywt/.venv-pyodide/lib/python3.11/site-packages/_pytest/cacheprovider.py", line 128, in _mkdir
  File "/home/runner/work/pywt/pywt/.venv-pyodide/lib/python3.11/site-packages/_pytest/cacheprovider.py", line 223, in _ensure_cache_dir_and_supporting_files
PermissionError: [Errno 2] Permission denied: '/home/runner/work/pywt/pywt/pytest-cache-files-nzzedxu6/README.md'

so it'd be nice to look into fixing that.

@agriyakhetarpal
Copy link
Collaborator Author

So I looked at this and this is a bit strange because PyWavelets builds successfully, the test suite passes, and it is only at the time of closing everything that it fails because of insufficient permissions, it doesn't look related to Pyodide. Disabling the bytecode generation should work, we don't need it considering that this is an ephemeral system.

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

Successfully merging a pull request may close this issue.

2 participants