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.26.4' 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 && pip install ./pyodide-build' >> 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/20.18.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}-cp312-cp312-emscripten_3_1_58_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"