Skip to content

Build and test Python with WASIp3 in CI#784

Merged
alexcrichton merged 3 commits intoWebAssembly:mainfrom
alexcrichton:wasip3-python-ci
Apr 17, 2026
Merged

Build and test Python with WASIp3 in CI#784
alexcrichton merged 3 commits intoWebAssembly:mainfrom
alexcrichton:wasip3-python-ci

Conversation

@alexcrichton
Copy link
Copy Markdown
Collaborator

This is intended to mirror what's done for WASIp{1,2} where Python is built against an in-tree copy of wasi-libc and then all of Python's applicable tests are run. This should help weed out any issues related to portability and provides a relatively strong assurance check that most everything works out.

The changes here are:

  • WASIp3 is added to the Python testing matrix
  • The wasi-sdk version used when testing Python is updated (keeping up-to-date).
  • The management of wasmtime is moved to CMake so CI doesn't install a different version than CMake testing.
  • Configuration of the runner (wasmtime version) that Python uses is moved to CMake instead of inheriting Python's defaults. This reduces the size of the custom patch that's carried here to test Python with.
  • The custom patch is updated to adjust a test that fails on WASIp2 with an updated version of Wasmtime. The change itself is unrelated to wasi-libc and has to do with Wasmtime's defaults, so for now it's just about getting CI passing.

This is intended to mirror what's done for WASIp{1,2} where Python is
built against an in-tree copy of wasi-libc and then all of Python's
applicable tests are run. This should help weed out any issues related
to portability and provides a relatively strong assurance check that
most everything works out.

The changes here are:

* WASIp3 is added to the Python testing matrix
* The wasi-sdk version used when testing Python is updated (keeping
  up-to-date).
* The management of `wasmtime` is moved to CMake so CI doesn't install a
  different version than CMake testing.
* Configuration of the runner (wasmtime version) that Python uses is
  moved to CMake instead of inheriting Python's defaults. This reduces
  the size of the custom patch that's carried here to test Python with.
* The custom patch is updated to adjust a test that fails on WASIp2 with
  an updated version of Wasmtime. The change itself is unrelated to
  wasi-libc and has to do with Wasmtime's defaults, so for now it's just
  about getting CI passing.
@alexcrichton alexcrichton requested a review from dicej April 17, 2026 16:14
@alexcrichton alexcrichton enabled auto-merge (squash) April 17, 2026 17:02
@alexcrichton alexcrichton merged commit fef47a5 into WebAssembly:main Apr 17, 2026
33 checks passed
@alexcrichton alexcrichton deleted the wasip3-python-ci branch April 17, 2026 17:08
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.

2 participants