Commit Graph

274 Commits

Author SHA1 Message Date
Gyeongjae Choi 6900afdc5b
PKG Add opencv-python, ffmpeg and libwebp (#2305)
* Add opencv-python

* Update comment

* Add JPEG, PNG, WEBP, ZLIB support

* Add tests for image processing

* Add more core modules

* Disable opencl

* Replace lena with baboon and add more tests

* Add file system support

* Add ffmpeg

* Add more tests

* Disable pthread in ffmpeg

* Disable canonical input processing mode in node test

* Update changelog

* Remove import test

* Allow more time in the first test

* Split out libwebp

* Fix node test

* Use a seperate CI job for opencv-python

* Fix generator

* Update changelog

* Remove protobuf package

* Try to fix CI workspace conflict

* Fix CI

* Use another CI job for generating unified packages.json

* Try to fix CI

* Fix CI again

* Disable verbose build

* Prevent from building opencv-python twice

* Persist only build artifacts

* Sepearate Cmake args into a script

* Try to reuse build packages job

* Fix CI

* Fix typo

* Fix merge conflict

* Use large resource class for package build

* Do not upload unwanted artifacts

* Do not upload unwanted artifacts
2022-04-19 09:24:47 +09:00
Hood Chatham e5a46e520a
Fix npm package (#2394)
Various fixes to improve the npm package.

Switch to publishing the dist folder, fix indexURL for node, 
fix node commonJS import and ES6 import only publish core 
Pyodide interpreter to npm, download and cache other wheels 
on first use.
2022-04-17 21:10:03 -07:00
Hood Chatham 50af355e8c
Rename 'build' directory to 'dist' (#2387)
dist is both more accurate (the 'build' directory is normally where you do the build,
and normally consists of intermediate build artifacts no one cares about). dist also
occurs less frequently in the code base: after this change \bbuild\b has 466 matches,
whereas \bdist\b has 101 matches. build has 1072 matches whereas dist has 362.
2022-04-11 16:01:40 -07:00
Gyeongjae Choi 6a84067819
Update docker image (#2388) 2022-04-11 11:05:32 +09:00
Gyeongjae Choi 60d530801e
ENH Remove hard coded paths in `pyodide_build` (#2351)
We are pushing pyodide_build to PyPI as a Python package, but for now, 
installing pyodide_build from PyPI (i.e. pip install pyodide_build`) is almost 
useless because:

    there are bunch of hard-coded paths (e.g. Path(__file__).parents[2]),
    its dependencies are not specified in setup.cfg.

This PR is for mitigating this situation by removing hard-coded paths and
adding tests, and is also a preparation for our new CLI 
(https://github.com/pyodide/pyodide/issues/1977).
2022-04-09 13:41:10 -07:00
Hood Chatham 981f23869b
Test numpy in node (#2349) 2022-04-03 14:30:39 -07:00
Hood Chatham 0e1e2ac01c
Python 3.10 (#2225) 2022-03-17 15:48:56 -07:00
Hood Chatham c01ab547f0
Better package cross compilation (#2238)
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
2022-03-09 20:34:25 -08:00
Hood Chatham 36d0e15300
MAINT Improve circleci cache rules (#2253) 2022-03-04 23:50:44 -08:00
Hood Chatham d6071d267f
Upload build logs zip as circleci artifact (#2254) 2022-03-04 16:10:06 -08:00
Henry Schreiner a725c6ce0f
chore: use GHA for linting (#2245)
* chore: use GHA for linting

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* ci: always test even if lint fails
2022-03-04 11:12:12 +09:00
Gyeongjae Choi fd8433a013
MAINT Refactor benchmark script (#2227)
One can select which benchmark (pystone, numpy, matplotlib, or all) to be run through command-line arguments.
We can divide each benchmark to separate CI jobs in the future if needed.
Moved pystone benchmark to benchmark directory, preventing it from being included in Pyodide release.
2022-03-02 10:11:36 -08:00
Hood Chatham 5b22f5ed50
Add cache for lint CI to reduce timeouts (#2240) 2022-03-02 07:44:19 -08:00
Henry Schreiner 41b6db1bab
style: improve pre-commit (#2177) 2022-02-19 09:06:25 +01:00
Hood Chatham 30ea13fbbf
Support for C++ exceptions in packages (#2178) 2022-02-19 08:31:19 +01:00
Gyeongjae Choi 525d1111b0
CI Improve docker tagging rules (#2168) 2022-02-14 18:34:13 +01:00
Gyeongjae Choi 950c1dcbd2
CI Update to newer docker image (#2160) 2022-02-10 09:36:18 +01:00
Hood Chatham ad114b72a2
Fix typescript documentation (#2130) 2022-01-27 00:03:50 -08:00
Hood Chatham 704783ba91
Split off webworker / node compatibility into separate file (#2129) 2022-01-24 09:52:50 -08:00
Hood Chatham 0640a6714d
MAINT Remove routing rules section from s3-website-config (#2097) 2022-01-10 14:02:31 -08:00
Hood Chatham 1f4f3e2b85
MAINT Apply prettier to everything by default (#2095) 2022-01-10 13:47:59 -08:00
Wei Ouyang 4602ccf156
Upgrade scikit-image to v0.19.1 (#2005)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2022-01-07 00:47:56 +01:00
Hood Chatham 76693df2d8
MAINT Add a test for shared libraries (#2042) 2021-12-14 14:27:28 -08:00
Hood Chatham 19261f394c
Remove function pointer cast emulation (#2019) 2021-12-09 10:31:21 -08:00
Hood Chatham 0bc5a828e4
MAINT Store zipped build folder as circleci artifact (#2009) 2021-12-07 04:24:31 -08:00
Hood Chatham 418813de33
MAINT Split CI build-packages step in two (#2017)
Split build packages into a step for everything up to and including numpy and a second step for numpy and its dependencies.
Intended to prevent timeouts.
2021-12-05 12:34:09 -08:00
Grimmer Kang da49fe57de
MAINT use npm ci to make sure the consistent dependencies installed (#1999) 2021-11-27 20:43:31 +01:00
Grimmer 8abdf2e4ce
Fix webpack compatibility issue (#1900) 2021-11-04 12:38:47 -07:00
Roman Yurchak 61b3ad0a59
CI Use larger ressource classes for CircleCI (#1929) 2021-11-04 12:23:41 +01:00
Roman Yurchak 869705f6d4
ENH Improve logging when building packages (#1835)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2021-09-15 10:18:56 +02:00
Roman Yurchak aa1ce3adc4
BLD Use outer ccache wrapper (#1805) 2021-09-11 14:22:13 +02:00
Roman Yurchak ab53f6b06c
ENH Change to minimal build by default (#1804) 2021-09-02 22:19:23 +02:00
Roman Yurchak e938d589cc
FIX Avoid compressing files twice when deploying (#1767) 2021-08-01 15:01:00 +02:00
Hood 332fbcbd92 Release 0.18.0a1 (actually this time) 2021-07-24 13:30:54 -07:00
Hood Chatham 7c6b88bc36
Split webworker tests into separate CI jobs (#1744) 2021-07-23 18:22:12 -07:00
Hood Chatham b2291f8f9d
Fix stack usage benchmark in node (#1734) 2021-07-21 22:30:34 -07:00
Hood Chatham f0bd568a31
Set up pytest node tests (#1717) 2021-07-20 10:48:27 +02:00
Roman Yurchak 0fc99f47b6
CI Disable pytest-xdist (#1718) 2021-07-16 14:33:05 -07:00
Hood Chatham 49321abcf2
CI Unify CircleCI tests into one parametrized job (#1697)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2021-07-15 18:08:53 +02:00
Hood Chatham 7760ce7ab8
ENH mkpkg update improvements (#1465) 2021-07-12 13:54:01 +02:00
Hood Chatham 7e180cc8a2
Add stack usage benchmark (#1698) 2021-07-09 13:37:28 -07:00
Roman Yurchak e97d3bb2cf
Minimal Node.js support (#1691) 2021-07-09 22:26:58 +02:00
Roman Yurchak 327560ab69
Setup a JavaScript test suite (#1684) 2021-07-06 10:48:35 +02:00
Hood Chatham 5c5a276438
Store tests for circleci (#1669) 2021-06-26 10:31:00 -07:00
Hood Chatham 653891b045
ENH Add Ctypes support (#1656) 2021-06-26 10:34:31 +02:00
Hood Chatham 3030e93560
Use pyodide/pyodide-env:17 rather than hoodmane/pyodide-env:17 for CI (#1654) 2021-06-23 08:21:50 -07:00
Hood Chatham b4f4bcffdc
Update to Python 3.9.5 (#1637)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2021-06-19 15:49:25 -07:00
Hood Chatham 9ffae14dbf
Store package build logs as circleci artifacts (#1646) 2021-06-19 09:51:36 -07:00
Hood Chatham c05c1cac78
Eliminate pyproxy leaks (#1616) 2021-06-07 09:23:47 +02:00
Hood Chatham b401350a2a
ENH More complete typescript types (#1601) 2021-05-31 19:06:56 -07:00
Hood Chatham 5f775051cd
Handle mixed case package names (#1615) 2021-05-30 20:07:31 -07:00
Roman Yurchak 4e9d10833e
BLD Create an installable pyodide-build package (#1566) 2021-05-03 20:51:11 +02:00
Hood Chatham ab1b6c8d24
MAINT Use prettier to format javascript (#1554)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2021-05-01 10:17:32 -07:00
Hood Chatham a4290cc17c
CI Use same image when deploying dev as when deploying release (#1534)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2021-04-26 21:58:05 +02:00
Roman Yurchak 18a82adb59
CI Fix release deployment [skip ci] (#1524) 2021-04-22 00:05:25 +02:00
Roman Yurchak c49dd7ad5f
Version 0.17.0 (#1515) 2021-04-21 21:51:28 +02:00
Roman Yurchak b60ce85213
CI Disable multiprocessing for test-packages-firefox (#1514) 2021-04-21 13:27:34 +02:00
Roman Yurchak c66c866451
BLD Display package build time in logs (#1509) 2021-04-20 22:57:13 +02:00
Roman Yurchak 5a2f7d027f
MAINT Update to selenium 4.0.0.b3 (#1422) 2021-04-19 13:39:22 +02:00
Roman Yurchak 025e295470
CI Fix release deployment branch filter (#1489) 2021-04-19 11:47:06 +02:00
Roman Yurchak 38b95f9080
CI/DOC fixes following rename of master branch to main (#1488) 2021-04-19 11:37:59 +02:00
Roman Yurchak e8ca3e2552
MAINT Update to Firefox 87 in tests (#1209) 2021-04-19 09:06:22 +02:00
Hood Chatham e5de0890b0
Improve console error handling, add console.html tests (#1480) 2021-04-18 07:28:21 -07:00
Roman Yurchak f063719e98
MAINT Use Chrome 89 in tests (#1462) 2021-04-13 23:12:39 +02:00
Roman Yurchak 19b6f6f25c
Store artifacts in build-core CI job (#1461) 2021-04-13 14:42:50 +02:00
Roman Yurchak cbf5f7e0cb
Correct PYODIDE_BASE_URL for console.html in CircleCI artifacts (#1453)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2021-04-13 13:58:24 +02:00
Roman Yurchak 31d10d1705
MAINT/CI Fix compatibility between run_in_pyodide and driver_timeout (#1444) 2021-04-09 09:21:50 +02:00
Roman Yurchak 6a44597a58
MAINT/CI increase build timeout (#1442) 2021-04-08 09:20:26 +02:00
Roman Yurchak 341b88acbe
MNT Update gitter channel name + smaller executioners in CI when possible (#1388) 2021-03-30 15:27:22 +02:00
Hood Chatham ccd0f1335b
DOC Implement autosummary for js autodoc, use autodocsumm for py autodoc (#1354) 2021-03-22 09:39:09 +01:00
Roman Yurchak 970fbae7f0
MAINT Set master back to 0.17.0dev0 (#1360) 2021-03-21 21:15:19 +01:00
Roman Yurchak afb522ed59
Release 0.17.0a2 (#1356) 2021-03-21 19:03:09 +01:00
Roman Yurchak 797d6d49cf
MAINT Fix release deployment with non stable version tags (#1355) 2021-03-21 16:32:50 +01:00
Hood Chatham 9baffb6b7f
Use hypothesis to test string conversions between js and python (#1339)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
2021-03-17 10:03:42 +01:00
Roman Yurchak 444e11f416
DOC update to sphinx book theme (#1250) 2021-02-15 08:59:38 +01:00
Roman Yurchak 0755f191b7
Deploy even with a failure of "tests packages" CI on chrome (#1216) 2021-02-08 13:51:28 +01:00
Hood Chatham 19ebad28dc
DOC Use sphinx-js for pyodide_js documentation (#1197) 2021-02-06 21:17:57 +01:00
casatir 1fa4b07809
Use rlcompleter instead of Jedi for completion in console (#1160) 2021-01-21 22:27:35 +01:00
casatir 829e2d4d1e
Completion support in InteractiveConsole (#1155) 2021-01-20 08:10:59 +01:00
Dexter Chua cd198e2927
Use python:3.8.2-slim-buster Docker base image (#1095)
This doesn't come with any build dependencies by default, so this
clarifies what really is needed (and as you can see from the diff, not
much).
2021-01-10 21:14:50 +08:00
Dexter Chua 0eaa29b3f3
Clean up workspace after core-python build (#1045)
Persisting fewer artifacts between jobs should give a slightly faster
build. This also guarantees that all we need to build packages are emsdk
and cpython/installs, which is useful for third party packages building.
2021-01-05 09:47:28 +01:00
Dexter Chua f6f5da1145
Create script to set emscripten env vars (#1013) 2021-01-03 12:25:14 +01:00
Dexter Chua 4ae245855d
Install uglifyjs and lessc via npm (#1002)
The installation is very fast, and this avoids having two copies of node
around. In particular, this avoids the need to monkey-patch uglify-js to
use the system node.

This can be further streamlined when #792 is merged
2021-01-01 23:43:48 +08:00
Dexter Chua e205121806
Build docs in CI (#983) 2020-12-31 13:18:13 +01:00
Dexter Chua b4c71a6dd2
CI Don't block tests on lint (#963)
Lints can be fixed easily, and this exposes "real" problems sooner.
2020-12-31 11:09:58 +01:00
Dexter Chua 8b090b4f5c
Restore PYODIDE_BASE_URL (#953)
A more permanent solution ought to be found, but CircleCI does not seem
to make it easy. This would make dev builds work for now.
2020-12-26 08:01:03 +01:00
Roman Yurchak 0d10cfaded
Release 0.16.1 (#950) 2020-12-25 22:05:54 +01:00
Dexter Chua bc8d17a374
CI Fix artifact upload (#948) 2020-12-25 09:46:57 +01:00
Dexter Chua 00d4d7eb2c
Fix CircleCI config (#946)
This incorporates two changes.

1. Since chrome tests are now much less flaky, we require chrome tests
   to pass before deploying.

2. Mark all jobs (except benchmark) as filters/tags/only: /.*/ so that
   they run on releases. This was previously causing the 1.16.0 release
   to not contain package builds.
2020-12-25 09:45:54 +01:00
Roman Yurchak 47878173c1
Release v0.16.0 (#940) 2020-12-24 18:16:26 +01:00
Dexter Chua 8de2ed1202
Build C libraries via buildall.py (#927)
This addresses part of #713, by listing and building C libraries as
dependencies. This means we automatically build CLAPACK when needed, and
`lxml`'s C dependencies are not built if lxml is not. In particular,
building "core" should now be faster.

The building itself is still performed by Makefile.
2020-12-23 14:24:32 +01:00
Dexter Chua 77b2a99697
Test emsdk patches (#905) 2020-12-21 11:20:11 +08:00
Roman Yurchak 641ce219b8
Use PYODIDE_BASE_URL for the deployment location (#855) 2020-12-18 13:23:45 +01:00
Dexter Chua 0de8ddb0cf
MAINT Move all lint commands to Makefile (#879) 2020-12-17 10:54:23 +01:00
Dexter Chua 0c91434bb6
Rerun failed tests sequentially (#859) 2020-12-14 18:05:15 +01:00
Dexter Chua dd616b5265
Fix cache saving (#850) 2020-12-12 12:31:21 +01:00
Roman Yurchak db9f12826f
Split build for core and packages in CI pipeline (#828) 2020-12-11 16:47:47 +01:00
Dexter Chua 9e050c143c
Remove clang-format symlink in config.yml (#837) 2020-12-08 09:01:58 +01:00
Dexter Chua 0defcb3825
BLD Don't compile host python (#830) 2020-12-08 00:19:16 +01:00
Dexter Chua 331756a5cd
Run tests in parallel with pytest-xdist (#833) 2020-12-07 09:19:31 +01:00