Commit Graph

327 Commits

Author SHA1 Message Date
Christian Clauss e37e54c1d7
Upgrade to Python 3.12.7 (#5149) 2024-11-17 13:54:58 +01:00
Hood Chatham ea444c11bb
Fix support for JSPI when there is no type reflection (#5129)
The new JSPI does not require wasm type reflection, so it's possible that JS runtimes will have JSPI support but no type reflection, for instance if they are enrolled in the JSPI origin trial or have the JSPI flag on but not the type reflection flag.

If type reflection is missing, we fall back to attempting to instantiate a dummy module that imports a function with a given signature. This will raise a LinkerError if the signature is wrong. By trying all four possibilities, we learn the actual signature of the function.
2024-11-11 11:38:38 +01:00
Gyeongjae Choi 1c82138a27
Use pyodide-build submodule (#5152)
Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com>
2024-11-07 21:04:14 +09:00
Gyeongjae Choi 6071fa7eb6
CI Split library build job (#5148) 2024-11-01 19:08:59 +09:00
Hood Chatham ae77bf6871
Fix handling of conversion of 0d buffers (#5092)
Also fixes conversion for 64 bit integer buffers. I added a buffer-test package
so we can test 0d buffer conversion code without using numpy. In the future
ideally we should add more test buffer types to buffer-test so that we can move
more coverage of the buffer conversion code out of test_numpy and into the main
test suite.

Resolves pyodide#5084.
2024-10-09 13:18:58 +02:00
Gyeongjae Choi adfb942b53
Update docker image to fix rust toolchains (#5091) 2024-09-30 10:36:11 +09:00
Hood Chatham 3222f2ed2d
Update stack switching to support new JSPI API (#4982)
The JSPI API changed. Currently v8 implements both the old and the new version.
We want to keep support for the old version for a while so we can use stack
switching in node. This supports both.

I also simplified the implementation by quite a lot somewhat by accident in the
process of trying to work out how to support the new API.

Resolves #4883.
2024-09-26 13:21:12 +02:00
Gyeongjae Choi 8fbf59203c
Unvendor pyodide-build (#4882)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-26 23:51:57 +09:00
Hood Chatham e7db129a19
Some improvements to the set of files in github releases (#4945)
Include type defintion files in pyodide-core.tar.gz
Remove snapshot related files.
Remove test files.

TODO in the future: Remove source maps and webworker.js?

As suggested in #4942
2024-07-17 18:49:24 +02:00
Gyeongjae Choi 8ba8f4497c
Update `pyodide py-compile` command to accept list of files to exclude (#4911) 2024-07-04 17:40:24 +09:00
Gyeongjae Choi cf41eafe16
CI: Setup safari test in GHA (#4886) 2024-06-29 12:30:16 +09:00
Gyeongjae Choi dd9366e30f
BLD Extract out xbuildenv create command from pyodide-build (#4798)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-31 18:27:57 +09:00
Gyeongjae Choi 2ab4fcd9f4
TST Try to make safari tests fail a little less often (#4809)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-30 19:13:24 +09:00
Gyeongjae Choi 56ab5c4ebb
Remove deploy dependencies from pyodide-build's pyproject.toml (#4752)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-25 10:32:38 +09:00
Hood Chatham d32e376013
Memory snapshots (#4652)
Add basic support for memory snapshots
2024-04-23 15:01:33 +02:00
Gyeongjae Choi 6edf6b2535
CI Bump chrome version in the docker image to 122 (#4616) 2024-03-15 19:45:20 +09:00
Hood Chatham 31fbdd510e Debug check-release-version CI job 2024-02-28 14:05:50 -08:00
Hood Chatham 6a1b0b09b6 Add CI job to check that release version matches repo file contents 2024-02-28 14:03:57 -08:00
Hood Chatham 3549bc7bc8 Fix deploy-release job 2024-02-28 13:48:00 -08:00
Hood Chatham f57e9fbee6
MAINT Mark github releases for alpha versions as prereleases (#4571) 2024-02-27 20:55:22 +09:00
Hood Chatham 05c7c3ff8c
Distribute the static libraries that we use to link Python (#4516)
This distributes the static libraries produced by Pyodide so that people can easily link
their own interpreter with different build flags.
2024-02-14 16:54:28 -08:00
Hood Chatham fb31fff09a
Upgrade to Python 3.12.1 (#4435) 2024-02-03 19:25:45 -08:00
Hood Chatham 16db2158ff
Update docker image to bookworm (#4431)
Buster isn't available for anymore for Python 312 so we have to update.

This also updates to Python 3.11.7, which turns out to be relatively invasive. I broadly
xfailed failing tests in `python_tests.yaml` since we'll upgrade to Python 3.12 soon anyways.
2024-01-30 08:19:53 -08:00
Gyeongjae Choi d45733dc0c
DOC Replace minimal supported browser versions with tested browser versions (#4351)
[skip ci]
2023-12-25 09:39:20 +01:00
Gyeongjae Choi 4265d218ce
Drop node < 18 support (#4269)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-01 17:28:58 +01:00
Hood Chatham 3085cb9d5e Use Wasm Exceptions for invoke stubs if they exist (#3957)
If wasm exception handling is available, use dynamically generated modules
with wasm exception handling for the invoke stubs instead of a JS trampoline.
This is useful because JS trampolines interact poorly with JS Promise Integration.

In the future, we should switch exception handling ABIs to the compiler-provided
wasm exception handling ABI and we can remove this code. Currently we are
blocked on using compiler-provided wasm eh by Rust support.
2023-10-21 09:20:09 -07:00
Hood Chatham af7544cbbb
Add a no dynamic linking build option (#4203) 2023-10-14 12:13:27 -07:00
Hood Chatham 9345fb40d3
CI Use xcode 15.0.0 for Safari tests (#4211)
It seems that there is a bug in table instructions in Safari 16.3 which is used in the safari tests
but that Safari 16.4 has fixed it. xcode 15.0.0 uses Safari 16.6 which does not have the bug.
2023-10-10 16:53:39 -07:00
Gyeongjae Choi b067272878
CI Change macos resource class to gen2 (#4179) 2023-09-27 19:25:17 +09:00
Hood Chatham f28d8c9efc Revert JSPI Changes
This reverts commits:
9ed5e839ff
8861b317a6
b2c47ae766
ab8dc2eac6
3bcc527c92
2505d4d6a3
2023-09-14 07:26:46 -07:00
Hood Chatham 9ed5e839ff Use Wasm Exceptions for invoke stubs if they exist (#3957)
If wasm exception handling is available, use dynamically generated modules
with wasm exception handling for the invoke stubs instead of a JS trampoline.
This is useful because JS trampolines interact poorly with JS Promise Integration.

In the future, we should switch exception handling ABIs to the compiler-provided
wasm exception handling ABI and we can remove this code. Currently we are
blocked on using compiler-provided wasm eh by Rust support.
2023-09-13 16:22:07 -07:00
Gyeongjae Choi b41b9ea3d5
CI Split package build steps as a temporary solution for CI timeout (#4106) 2023-09-01 20:31:24 +09:00
Gyeongjae Choi 13d0e88dcc
CI Update macos env version in CircleCI (#4061) 2023-08-17 20:12:30 +09:00
Gyeongjae Choi b79b8913b9
Enable freesasa, lightgbm, opencv-python, and wordcloud (#3970) 2023-06-30 14:44:51 -07:00
Hood Chatham 5fe0d2e302
Change the name of repodata.json to pyodide-lock.json (#3824) 2023-06-18 22:57:43 -07:00
Hood Chatham 51c56ba645
Fix benchmark-stack-size (#3906)
This fixes benchmark-stack-size which seems to have been broken by the upgrade to pytest-pyodide 0.52.
2023-06-05 19:17:31 -07:00
Hood Chatham 5754d211be
Emscripten 3.1.33 (#3665)
Disabled opencv and lightgbm
2023-05-08 08:38:39 -07:00
Hood Chatham 4c34b6a468
Update node in docker image from v14 to v20 (#3819)
This updates the docker image to use node 20.1.0
2023-05-06 15:27:43 -07:00
Gyeongjae Choi 19886f8bd6
Make build variables accessible only through the API (#3765)
This PR makes build variables only accessible through the API, instead of polluting os.environ.

I also changed the API as below, as a preparation to move away from makefiles.

- `get_make_environment_vars` => `get_build_environment_vars`
- `get_make_flag` => `get_build_flag`
2023-05-06 17:17:22 +09:00
Gyeongjae Choi 17f199060b
Fix S3 xbuildenv deploy (#3782) 2023-04-20 11:34:22 +09:00
Gyeongjae Choi 25ba93485a
Deploy top-of-tree xbuildenv and pyodide-core to S3 (#3766) 2023-04-17 14:22:07 +09:00
Christian Clauss b2201c19b1
Upgrade to Python v3.11.3 (#3741) 2023-04-12 17:38:05 +02:00
Gyeongjae Choi 5a8ecf130a
Add `xbuildenv create` CLI command and remove old entrypoints (#3732)
Add a private pyodide xbuildenv create CLI commad that replaces pyodide-build create_xbuildenv. Also removes legacy entrypoints: `pyodide-build {create,install}_xbuildenv.
2023-04-07 20:54:11 +09:00
Roman Yurchak 7f4f66b34b
Deploy py-compiled build (#3701)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2023-03-29 22:54:46 +02:00
Roman Yurchak 8058cb6703
Support for py-compiling folders + repodata.json update (#3700)
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
2023-03-28 11:28:28 +00:00
Gyeongjae Choi fe8badf566
Fix compression of the dev deployment (retry) (#3698) 2023-03-25 11:33:16 +01:00
Roman Yurchak 096a834af3
Fix compression of the dev deployment (#3693)
Closes https://github.com/pyodide/pyodide/issues/3687

I forgot to make the changes for the dev deployment in
https://github.com/pyodide/pyodide/pull/3667
Overall those are mostly identical lines repeated several times, however
because the cost of error is pretty high I prefer not to factorize it
for now. Instead, we should rethink this system, maybe moving dev
deployment to a separate bucket and making release deployment immutable.
2023-03-25 10:08:02 +09:00
Roman Yurchak 601d939fdd
Fix wheel compression with the JsDelivr CDN (#3667)
Set the MIME type for wheels and zip files to application/wasm to enable CDN compression. Also optionally disable compression in zip files and wheels to make the brotli compression by the CDN more efficient.

Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
2023-03-21 09:11:47 +01:00
Roman Yurchak 59b2c4e1ef
Remove deprecated pyodide-build buildall and mkpkg CLI endpoints (#3668) 2023-03-20 08:43:04 +01:00
Gyeongjae Choi a9182030cd
Merge pyodide_py into python_stdlib.zip (#3621)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2023-03-04 11:05:12 +01:00