Skip to content

CI: rebuild the website's WebAssembly runtime and propose it - #244

Merged
bdbarnett merged 2 commits into
mainfrom
ci/wasm-runtime
Nov 1, 2026
Merged

bdbarnett merged 2 commits into
mainfrom
ci/wasm-runtime

Conversation

@bdbarnett

Copy link
Copy Markdown
Contributor

PyDevices.github.io and workbench serve this repository's webassembly build, and nothing rebuilt it when its sources moved here, so it fell behind.

The new WebAssembly runtime workflow runs when a push to main changes what goes into that build (modules.lock, deps.lock, UPSTREAM, the patch series, modules/, the webassembly variant, build_mp.py), and by hand. It:

  1. builds the webassembly port, pydevices variant, every module, in the webassembly dev container, from the pins;
  2. runs it under node and imports what it freezes (lvgl, appkit, controlpanel, sayso, audioinstruments, audioeffects, pdwidgets, palettes, ulab, displaydev);
  3. stamps micropython.wasm.provenance with the new scripts/wasm_provenance.py, from the build's pydevices-build.json;
  4. opens a pull request on PyDevices.github.io (vendor/micropython/) and workbench (assets/pydevices/) with the three files, closing any older runtime pull request. If the runtime didn't change, it opens none.

The pull requests are merged like any other; nothing here publishes.

Opening them needs the org app's PYDEVICES_APP_ID and PYDEVICES_APP_PRIVATE_KEY as secrets on this repository, as the gallery has them. Without them the propose job fails with a message saying so, and the runtime is still in the run's artifact.

On this pull request only the build and checks run.

@bdbarnett
bdbarnett merged commit d8e459b into main Nov 1, 2026
3 checks passed
@bdbarnett
bdbarnett deleted the ci/wasm-runtime branch November 1, 2026 04:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant