Repository navigation
The PyDevices stack is frozen into the WASM runtime: boot installs nothing - #4
Merged
Merged
Conversation
… at boot; a runtime without it fails loudly The boot script imported displaydev only after mip-installing pydevices-desktop when /lib/board_config.mpy was missing. The stack, the desktop board_config included, is now frozen into the runtime (micropython-pydevices' build_mp.py with all plus board_configs/desktop), so boot imports it straight away and an ImportError says the runtime was built without it. The package manager still installs examples and other packages.
…p board config frozen in
Fails on any request to a mip index during boot. Proved: with a pydevices-desktop install planted back into the boot script it fails (62 index requests); with the real boot script it passes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The boot script no longer mip-installs pydevices-desktop; it imports displaydev directly, so a runtime without the stack fails loudly. The vendored runtime carries the whole stack and the desktop board config. The package manager still installs examples and other packages. New test: connecting the simulator installs nothing (proved to fail with an install planted back in).
Verified locally before merging: wasm-verifier checked 204 pages (22 heroes, 6 Read the Docs demo pages, 57 direct-wasm gallery cards, 57 Pyodide cards, the Peter Hinch lists and 59 demos) with 0 mip requests for the stack; 202 run, and the 2 failures (Hinch refresh_lock) fail identically on the published site. With the old runtime swapped in, every page type failed loudly, so the pages really run on the frozen stack. workbench-tester: boot reaches >>> with no mip request, all six VM examples draw, presets apply, the package manager still installs, Playwright 15/15, plus a new test that fails if boot ever installs again. Part of the micropython-pydevices reorg (PyDevices/micropython-pydevices#28).