mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-06 07:51:47 +00:00
55 lines
2.0 KiB
YAML
55 lines
2.0 KiB
YAML
name: Build IfcOpenShell WASM / Pyodide
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build_ifcopenshell:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: recursive
|
|
path: IfcOpenShell
|
|
|
|
- name: Checkout Pyodide
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: recursive
|
|
repository: pyodide/pyodide
|
|
ref: '0.28.0a3'
|
|
token: ${{ secrets.BUILD_REPO_TOKEN }}
|
|
path: pyodide
|
|
|
|
- name: Build
|
|
run: |
|
|
VERSION=`cat IfcOpenShell/VERSION`
|
|
sed -i s/0.8.0/$VERSION/g IfcOpenShell/pyodide/meta.yaml
|
|
sed -i s/0.8.0/$VERSION/g IfcOpenShell/pyodide/setup.py
|
|
echo '#!/usr/bin/bash' > script.sh
|
|
echo 'cd pyodide' >> script.sh
|
|
echo 'make' >> script.sh
|
|
echo 'cd ..' >> script.sh
|
|
echo 'mkdir -p packages/ifcopenshell' >> script.sh
|
|
echo 'cp IfcOpenShell/pyodide/meta.yaml packages/ifcopenshell' >> script.sh
|
|
echo 'PYODIDE_ROOT=/src/pyodide \' >> script.sh
|
|
echo 'PATH=/src/pyodide/emsdk/emsdk:/src/pyodide/emsdk/emsdk/node/22.16.0_64bit/bin:/src/pyodide/emsdk/emsdk/upstream/emscripten:$PATH \' >> script.sh
|
|
echo 'pyodide build-recipes ifcopenshell --install' >> script.sh
|
|
chmod +x script.sh
|
|
sed -i s/--tty// pyodide/run_docker
|
|
pyodide/run_docker ./script.sh
|
|
mv dist/ifcopenshell-$VERSION-py3-none-any.whl dist/ifcopenshell-$VERSION+${GITHUB_SHA:0:7}-cp313-cp313-emscripten_4_0_9_wasm32.whl
|
|
|
|
- name: Configure AWS credentials
|
|
uses: aws-actions/configure-aws-credentials@v4
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_UPLOAD_ACCESS_KEY_ID }}
|
|
aws-secret-access-key: ${{ secrets.AWS_UPLOAD_SECRET_ACCESS_KEY }}
|
|
aws-region: us-east-1
|
|
|
|
- name: Upload .zip archives to S3
|
|
run: |
|
|
aws s3 cp dist s3://ifcopenshell-builds/ --recursive --exclude "*" --include "*.whl"
|