name: wasm
on:
workflow_dispatch:
jobs:
wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
submodules: true
- uses: actions/checkout@v4
with:
repository: emscripten-core/emsdk
path: _/emsdk
- name: Run emsdk
run: |
_/emsdk/emsdk install latest
_/emsdk/emsdk activate latest
. _/emsdk/emsdk_env.sh
pushd _/emsdk/upstream/emscripten
$(dirname $EMSDK_NODE)/npm install
- name: Run cmake
env:
EMSDK_QUIET: 1
run: |
. _/emsdk/emsdk_env.sh
set -x
emcmake cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTING=0 \
-DLIBA_WARNINGS=1 \
-DLIBA_JAVASCRIPT=1 \
-DLIBA_JAVASCRIPT_BIGINT=1 \
-DLIBA_SYMLINK=0 -DLIBA_IPO=1
cmake --build build --config Release
- uses: actions/upload-artifact@v4
with:
if-no-files-found: ignore
name: ${{ github.sha }}-wasm
path: |
javascript/README.md
javascript/liba.d.ts
javascript/liba.js
javascript/liba.wasm
javascript/package.json