MAINT Unvendor tests at the lockfile creation step#116
MAINT Unvendor tests at the lockfile creation step#116ryanking13 merged 10 commits intopyodide:mainfrom
Conversation
There was a problem hiding this comment.
Thanks for making this change, @ryanking13! I agree that pyodide build as a build frontend should not alter the package to remove the test files; it should be the job of the recipe maintainers. This also makes things a bit easier for me with #109, so it is much appreciated.
I think pyodide/pyodide-pack#41 is the ideal location to move these tests unvendoring to, as it will help that repository gain more mobility.
I would suggest that we don't merge/release this change until we release a version of pyodide-pack with that issue resolved. What do you think? I could spend some time implementing it, or step back if you are interested. :)
Yeah, at first, I thought we should put it in So instead of putting complex logic in the |
This change itself does not introduce any breaking changes (hence no changelog), so I think we can merge this as is. Then, I think you can start copying the logic to the pyodide-pack. After that, we can make
I would be happy if you could work on this. TBH, no one has recently worked on pyodide-pack after Romans retirement, so you would be the best person who understands the codebase. |
|
I am not going to make a release though, as |
Oh, I see. Yes, please feel free to merge this! I'll close pyodide/pyodide-lock#30 for now, and proceed to work on |
|
I'll merge this after testing in pyodide/pyodide. |
After #116, I noticed that there are verbose logs printed at the very end step of recipe build: ``` Building packages... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12/12 100% Time elapsed: 0:05:13 Copying build logs to /src/packages/build-logs Copying built packages to /src/dist Writing pyodide-lock.json to /src/dist/pyodide-lock.json Unpacking to: /tmp/tmpbcmq2jas/lzma-1.0.0...OK Repacking wheel as /src/dist/lzma-1.0.0-cp313-cp313-pyodide_2025_0_wasm32.whl...OK Unpacking to: /tmp/tmp8h460lyt/sqlite3-1.0.0...OK Repacking wheel as /src/dist/sqlite3-1.0.0-cp313-cp313-pyodide_2025_0_wasm32.whl...OK Unpacking to: /tmp/tmpq4g8gu0_/pydoc_data-1.0.0...OK Repacking wheel as /src/dist/pydoc_data-1.0.0-cp313-cp313-pyodide_2025_0_wasm32.whl...OK Unpacking to: /tmp/tmp2w_726d9/hashlib-1.0.0...OK Repacking wheel as /src/dist/hashlib-1.0.0-cp313-cp313-pyodide_2025_0_wasm32.whl...OK Unpacking to: /tmp/tmp0kwjjwcv/micropip-0.9.0...OK Repacking wheel as /src/dist/micropip-0.9.0-py3-none-any.whl...OK Unpacking to: /tmp/tmp76vv54io/ssl-1.0.0...OK Repacking wheel as /src/dist/ssl-1.0.0-cp313-cp313-pyodide_2025_0_wasm32.whl...OK Unpacking to: /tmp/tmpw4r6k1d5/pydecimal-1.0.0...OK Repacking wheel as /src/dist/pydecimal-1.0.0-cp313-cp313-pyodide_2025_0_wasm32.whl...OK Unpacking to: /tmp/tmp2p_yb3sh/tblib-3.0.0...OK Repacking wheel as /src/dist/tblib-3.0.0-py3-none-any.whl...OK Unpacking to: /tmp/tmpwrj6kqd2/packaging-24.2...OK Repacking wheel as /src/dist/packaging-24.2-py3-none-any.whl...OK ``` It is because `python -m wheel {pack, unpack}` prints these logs to stdout. So, I added a verbose parameter to silence these outputs when we don't want them.
I forgot this parameter in #116 --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This PR changes when test codes are unvendored.
Before:
build.postscript runs).After:
Why?
I would like to move the unvendoring logic to somewhere else like
pyodide-packorpyodide-lock(pyodide/pyodide-lock#30, pyodide/pyodide-pack#41), so package maintainers can use that feature when they are not using a recipe.Related issues: