From 4c632282fb403429c14b84848bcb008298f0b197 Mon Sep 17 00:00:00 2001 From: Phillip Schanely Date: Mon, 18 Nov 2024 16:52:33 -0500 Subject: [PATCH] Pyodide build action, attempt 1 --- .github/workflows/pyodide.yml | 54 +++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/pyodide.yml diff --git a/.github/workflows/pyodide.yml b/.github/workflows/pyodide.yml new file mode 100644 index 00000000..708725af --- /dev/null +++ b/.github/workflows/pyodide.yml @@ -0,0 +1,54 @@ +name: Pyodide Build + +on: + pull_request: + paths: + - crosshair/** + - setup.py + - .pre-commit-config.yaml + push: + branches: [ main ] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-24.04 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup packages + run: sudo apt-get update && sudo apt-get install -y python3-dev python3-pip python3-venv + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip setuptools + pip3 install pyodide-build pyodide-cli + + - name: Configure CMake and build + run: | + git clone https://github.com/emscripten-core/emsdk.git ~/emsdk + cd ~/emsdk && PYODIDE_EMSCRIPTEN_VERSION=$(~/env/bin/pyodide config get emscripten_version) + ./emsdk install ${PYODIDE_EMSCRIPTEN_VERSION} + ./emsdk activate ${PYODIDE_EMSCRIPTEN_VERSION} + + - name: Build CrossHair + run: | + source ~/emsdk/emsdk_env.sh + ~/env/bin/pyodide build + + - name: Setup env-pyodide + run: | + source ~/env/bin/activate + source ~/emsdk/emsdk_env.sh + pyodide venv ~/env-pyodide + + + - name: Upload wheel + uses: actions/upload-artifact@master + with: + name: pyodide-wheel + path: dist/*.whl