Skip to content

Commit 14dfbf2

Browse files
authored
BLD: wasm build (#7)
* BLD: wasm
1 parent ea8dfaf commit 14dfbf2

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

.github/workflows/wheels.yml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,11 @@ jobs:
7878
python: "cp313t"
7979
- buildplat: [ macos13, macosx_x86_64, openblas ]
8080
python: "cp314t"
81-
81+
include:
82+
- buildplat: [ ubuntu-22.04, pyodide_wasm32, "" ]
83+
python: "cp312"
84+
- buildplat: [ ubuntu-22.04, pyodide_wasm32, "" ]
85+
python: "cp313"
8286
env:
8387
IS_32_BIT: ${{ matrix.buildplat[1] == 'win32' }} # used in a cibw_*.sh script
8488

@@ -139,17 +143,20 @@ jobs:
139143
echo "CIBW_ENVIRONMENT_MACOS=PKG_CONFIG_PATH=$PWD/.openblas" >> "$GITHUB_ENV"
140144
fi
141145
142-
# Used to run cibuildwheel
143-
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
144-
with:
145-
python-version: "3.13"
146+
- name: Pyodide setup
147+
if: ${{ matrix.buildplat[1] == 'pyodide_wasm32' }}
148+
run: |
149+
echo "CIBW_PLATFORM=pyodide" >> "$GITHUB_ENV"
146150
147-
- name: Build wheel
151+
- name: Build wheels
152+
uses: pypa/cibuildwheel@c923d83ad9c1bc00211c5041d0c3f73294ff88f6
148153
env:
149154
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}
150-
run: |
151-
python -m pip install cibuildwheel==3.1.1
152-
python -m cibuildwheel numpy-src --config-file cibuildwheel.toml --output-dir ./dist
155+
SRC: ${{ github.workspace }}/numpy-src
156+
with:
157+
package-dir: numpy-src
158+
output-dir: dist
159+
config-file: cibuildwheel.toml
153160

154161
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
155162
with:

cibuildwheel.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,13 @@ repair-wheel-command = "bash -el ./tools/wheels/repair_windows.sh {wheel} {dest_
3434
select = ["*-win32"]
3535
config-settings = {setup-args = ["--vsenv", "-Dallow-noblas=true"], build-dir="build"}
3636
repair-wheel-command = ""
37+
38+
[tool.cibuildwheel.pyodide]
39+
before-test = "pip install -r $SRC/requirements/emscripten_test_requirements.txt"
40+
# Pyodide ensures that the wheels are already repaired by auditwheel-emscripten
41+
repair-wheel-command = ""
42+
test-command = "python -m pytest --pyargs numpy -m 'not slow'"
43+
44+
[tool.cibuildwheel.pyodide.config-settings]
45+
build-dir = "build"
46+
setup-args = ["--cross-file=$SRC/tools/ci/emscripten/emscripten.meson.cross", "-Dblas=none", "-Dlapack=none"]

0 commit comments

Comments
 (0)