1
- # Copied from NumPy https://github.com/numpy/numpy/pull/24603
2
- # https://github.com/numpy/numpy/blob/328a9a488c3a146497be704d2cee2f9134e43b5b /.github/workflows/emscripten.yml
1
+ # Copied from NumPy https://github.com/numpy/numpy/pull/25894
2
+ # https://github.com/numpy/numpy/blob/d2d2c25fa81b47810f5cbd85ea6485eb3a3ffec3 /.github/workflows/emscripten.yml
3
3
#
4
- # To enable this workflow on a fork, comment out:
5
- #
6
- # if: github.repository == 'scikit-image/scikit-image'
4
+
7
5
name : Test Emscripten/Pyodide build
8
6
9
7
on :
10
8
pull_request :
11
9
branches :
12
10
- main
13
11
- maintenance/**
12
+ # TODO: remove after ready to merge
13
+ push :
14
+ # branches:
15
+ # - main
16
+ # - maintenance/**
17
+ workflow_dispatch :
14
18
15
19
concurrency :
16
20
group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -22,40 +26,42 @@ permissions:
22
26
jobs :
23
27
build-wasm-emscripten :
24
28
runs-on : ubuntu-22.04
25
- if : " github.repository == 'scikit-image/scikit-image'"
29
+ # To enable this workflow on a fork, comment out:
30
+ # if: github.repository == 'scikit-image/scikit-image'
26
31
env :
27
- PYODIDE_VERSION : 0.25.0a2
32
+ PYODIDE_VERSION : 0.25.0
28
33
# PYTHON_VERSION and EMSCRIPTEN_VERSION are determined by PYODIDE_VERSION.
29
34
# The appropriate versions can be found in the Pyodide repodata.json
30
35
# "info" field, or in Makefile.envs:
31
36
# https://github.com/pyodide/pyodide/blob/main/Makefile.envs#L2
32
37
PYTHON_VERSION : 3.11.3
33
- EMSCRIPTEN_VERSION : 3.1.45
38
+ EMSCRIPTEN_VERSION : 3.1.46
34
39
NODE_VERSION : 18
35
40
steps :
36
41
- name : Checkout scikit-image
37
- uses : actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
42
+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
38
43
39
- - name : set up python
44
+ - name : Set up Python ${{ env.PYTHON_VERSION }}
40
45
id : setup-python
41
- uses : actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7 .0
46
+ uses : actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0 .0
42
47
with :
43
48
python-version : ${{ env.PYTHON_VERSION }}
44
49
45
- - uses : mymindstorm/setup-emsdk@ab889da2abbcbb280f91ec4c215d3bb4f3a8f775 # v12
50
+ - name : Set up Emscripten toolchain
51
+ uses : mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14
46
52
with :
47
53
version : ${{ env.EMSCRIPTEN_VERSION }}
48
54
actions-cache-folder : emsdk-cache
49
55
50
56
- name : Install pyodide-build
51
- run : pip install "pydantic<2" build pyodide-build==$PYODIDE_VERSION
57
+ run : pip install "pydantic<2" pyodide-build==${{ env. PYODIDE_VERSION }}
52
58
53
- - name : Build
59
+ - name : Build scikit-image for Pyodide
54
60
run : |
55
61
pyodide build
56
62
57
- - name : set up node
58
- uses : actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
63
+ - name : Set up Node.js
64
+ uses : actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
59
65
with :
60
66
node-version : ${{ env.NODE_VERSION }}
61
67
64
70
pyodide venv .venv-pyodide
65
71
source .venv-pyodide/bin/activate
66
72
pip install dist/*.whl
67
- python -c "import sys; print(sys.platform)"
68
73
pip install matplotlib>=3.5 numpydoc>=1.5 pooch>=1.6.0 pytest>=7.0 pytest-cov>=2.11.0 pytest-localserver pytest-faulthandler
69
- - name : Test
74
+
75
+ - name : Test scikit-image for Pyodide
70
76
run : |
71
77
source .venv-pyodide/bin/activate
72
78
cd ..
0 commit comments