Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

agriyakhetarpal
Copy link
Contributor

Description

This PR follows up on changes made in gh-7350. Here's a small, point-wise summary noting the changes here:

  • It updates the Emscripten/Pyodide CI job added in Add out-of-tree Pyodide builds in CI for scikit-image #7350 and removes the workaround JavaScript-based test suite file, since we fixed the s_cmp OpenBLAS unresolved symbol coming from SciPy upstream, having updated SciPy in-tree in Pyodide (see SciPy v1.13.0 pyodide/pyodide#4719, SciPy v1.14.0 pyodide/pyodide#5012, SciPy v1.14.1 pyodide/pyodide#5031, and more). This should make the testing slightly cleaner than before, and the test suite now runs till the end without any Pyodide fatal errors being reported.
    The Pyodide xbuildenv can now be used to set up a virtual environment in which the tests can be run in the same way they were before.
    The pyodide-build tool has been unvendored from the Pyodide repository and now infers the Pyodide version from the releases, downloading the relevant files from the GitHub release. Hence, the PYODIDE_VERSION environment variable is no longer required.
  • There were some tests that have been failing on 32-bit platforms, which were last discussed quite a while ago: Multiple failures in 32-bit Linux builds #3091. They surprisingly passed in a WASM 32-bit environment here without issues, which is great. I have updated the skipping conditions to accommodate this.
  • There's a known problem with the pytest bytecode generation when running the tests with the xbuildenv interpreter – I disabled the pytest internal cache plugin to fix that, but ignoring the warning (pyodide build failure pypa/cibuildwheel#1966 (comment)) works equally as well. Please let me know if there is a preference. :)

Additional context

Checklist

Release note

For maintainers and optionally contributors, please refer to the instructions on how to document this PR for the release notes.

...

@agriyakhetarpal
Copy link
Contributor Author

The Pyodide CI job is passing, as expected. This is ready for review, thanks!

Copy link
Member

@lagru lagru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for updating! I gave it a first pass.

build-wasm-emscripten:
name: Build scikit-image distribution for Pyodide
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we are running this on pull requests I wouldn't mind restricting the environment somewhat. It's confusing for contributors and annoying for maintainers if a workflow breaks across many PRs if a random update in the CI breaks stuff. It also makes it harder to pinpoint the culprit.

What do you think about pinning the image, and more so the Pyodide version again?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a reasonable suggestion, thanks! I'll pin both the image and the Pyodide xbuildenv version here.

Copy link
Contributor Author

@agriyakhetarpal agriyakhetarpal Sep 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bd6c352 keeps the image pinned to ubuntu-22.04 (I tried bumping to ubuntu-24.04 but it is in beta right now and might not be stable – it didn't have the required Python 3.12).

dbbb817 pins the Pyodide version. It's pinned to the 0.27.0alpha2 release, but I don't think we will be pushing any code in this release cycle that will be concerning for scikit-image 😁 So, we can either wait until 0.27 stable is out, or we can go ahead with this and I'll keep it in mind to bump this to v0.27-stable as soon as we release it :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. With regards to merging now or waiting, whatever you prefer. :)

@lagru lagru added the 🤖 type: Infrastructure CI, packaging, tools and automation label Sep 3, 2024
Copy link
Member

@stefanv stefanv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, thanks @agriyakhetarpal

Copy link
Member

@lagru lagru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good now! I think I'll merge this now. We can bump the pyodide easily in a later PR. :)

@lagru lagru merged commit 107c1a9 into scikit-image:main Sep 15, 2024
27 checks passed
@stefanv stefanv added this to the 0.25 milestone Sep 15, 2024
@agriyakhetarpal agriyakhetarpal deleted the updates-for-emscripten-ci branch March 1, 2025 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🤖 type: Infrastructure CI, packaging, tools and automation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants