Skip to content

feat(workflows/build): upload WASM wheels to PyPI - #295

Merged
XuehaiPan merged 2 commits into
metaopt:mainfrom
XuehaiPan:codex/enable-wasm-wheel-upload
Aug 21, 2026
Merged

feat(workflows/build): upload WASM wheels to PyPI#295
XuehaiPan merged 2 commits into
metaopt:mainfrom
XuehaiPan:codex/enable-wasm-wheel-upload

Conversation

@XuehaiPan

Copy link
Copy Markdown
Member

Description

Keep PyEmscripten WASM wheels in the combined release artifact so the existing TestPyPI and PyPI publication steps upload them with the other distributions.

Motivation and Context

PEP 783 is accepted, and PyPI now accepts pyemscripten_*_wasm32 wheel tags. The latest optree release workflow already builds wheels such as optree-0.20.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl, but the artifact aggregation job removes them before publication.

Related issue: #225

  • I have raised an issue to propose this change.

Types of changes

  • Bug fix
  • New feature
  • Breaking change
  • Documentation

Implemented Tasks

  • Remove the obsolete WASM wheel deletion step.
  • Preserve the existing sdist, wheel aggregation, TestPyPI, and PyPI flow.
  • Verify the current build artifact uses the accepted PEP 783 platform tag.

Validation

  • Regression assertion failed before the change and passed afterward.
  • python3 -m pytest: 93,873 passed, 41 skipped, 1 xfailed.
  • python3 -m pre_commit run --all-files: all hooks passed.
  • Independent read-only review found no issues.

The credentialed upload remains release-only and is not exercised by pull request CI.

Checklist

  • I have read the CONTRIBUTION guide.
  • Documentation changes are not required for this workflow-only change.
  • Formatting, lint, and the full test suite pass as recorded above.

PyPI now accepts PEP 783 PyEmscripten wheel tags. Keep the Pyodide wheels in the combined release artifact so the existing TestPyPI and PyPI publication steps upload them with the other distributions.

Tests: 93873 passed, 41 skipped, 1 xfailed

Checks: pre-commit run --all-files
Document PyPI publication of PyEmscripten wheels in the Unreleased section.

Tests: 93873 passed, 41 skipped, 1 xfailed

Checks: pre-commit run --all-files
@XuehaiPan
XuehaiPan marked this pull request as ready for review August 20, 2026 15:25
@XuehaiPan XuehaiPan self-assigned this Aug 20, 2026
@XuehaiPan XuehaiPan added enhancement New feature or request integration Integration for other packages labels Aug 20, 2026
@XuehaiPan
XuehaiPan merged commit bdae822 into metaopt:main Aug 21, 2026
143 of 265 checks passed
@XuehaiPan
XuehaiPan deleted the codex/enable-wasm-wheel-upload branch August 21, 2026 01:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request integration Integration for other packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant