Skip to content

Commit 294ab6e

Browse files
Move job to unit tests workflow, withdraw env vars
1 parent d54d198 commit 294ab6e

File tree

2 files changed

+60
-77
lines changed

2 files changed

+60
-77
lines changed

.github/workflows/emscripten.yml

Lines changed: 0 additions & 76 deletions
This file was deleted.

.github/workflows/unit-tests.yml

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ jobs:
328328
timeout-minutes: 90
329329

330330
concurrency:
331-
#https://github.community/t/concurrecy-not-work-for-push/183068/7
331+
# https://github.community/t/concurrecy-not-work-for-push/183068/7
332332
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-${{ matrix.pytest_target }}-dev
333333
cancel-in-progress: true
334334

@@ -360,3 +360,62 @@ jobs:
360360
361361
- name: Run Tests
362362
uses: ./.github/actions/run-tests
363+
364+
emscripten:
365+
# Note: the Python version, Emscripten toolchain version are determined
366+
# by the Pyodide version. The appropriate versions can be found in the
367+
# Pyodide repodata.json "info" field, or in the Makefile.envs file:
368+
# https://github.com/pyodide/pyodide/blob/stable/Makefile.envs#L2
369+
# The Node.js version can be determined via Pyodide:
370+
# https://pyodide.org/en/stable/usage/index.html#node-js
371+
name: Build pandas distribution for Pyodide
372+
runs-on: ubuntu-22.04
373+
concurrency:
374+
# https://github.community/t/concurrecy-not-work-for-push/183068/7
375+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-wasm
376+
cancel-in-progress: true
377+
steps:
378+
- name: Checkout pandas Repo
379+
uses: actions/checkout@v4
380+
with:
381+
fetch-depth: 0
382+
383+
- name: Set up Python for Pyodide
384+
id: setup-python
385+
uses: actions/setup-python@v5
386+
with:
387+
python-version: '3.11.3'
388+
389+
- name: Set up Emscripten toolchain
390+
uses: mymindstorm/setup-emsdk@v14
391+
with:
392+
version: '3.1.46'
393+
actions-cache-folder: emsdk-cache
394+
395+
- name: Install pyodide-build
396+
run: pip install "pydantic<2" "pyodide-build==0.25.0"
397+
398+
- name: Build pandas for Pyodide
399+
run: |
400+
pyodide build
401+
402+
- name: Set up Node.js
403+
uses: actions/setup-node@v4
404+
with:
405+
node-version: '18'
406+
407+
- name: Set up Pyodide virtual environment
408+
run: |
409+
pyodide venv .venv-pyodide
410+
source .venv-pyodide/bin/activate
411+
pip install dist/*.whl
412+
413+
- name: Test pandas for Pyodide
414+
env:
415+
PANDAS_CI: 1
416+
run: |
417+
source .venv-pyodide/bin/activate
418+
pip install "pytest<8.1.0" hypothesis
419+
# do not import pandas from the checked out repo
420+
cd ..
421+
python -c 'import pandas as pd; pd.test(extra_args=["-m not clipboard and not single_cpu and not slow and not network and not db"])'

0 commit comments

Comments
 (0)