name: WebAssembly Build on: push: branches: [master] pull_request: defaults: run: working-directory: src/api/js env: EM_VERSION: 3.1.73 permissions: contents: read # to fetch code (actions/checkout) jobs: check: name: Check runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup node uses: actions/setup-node@v4 with: node-version: "lts/*" - name: Setup emscripten uses: mymindstorm/setup-emsdk@v14 with: no-install: true version: ${{env.EM_VERSION}} actions-cache-folder: "emsdk-cache" - name: Install dependencies run: npm ci - name: Build TypeScript run: npm run build:ts - name: Build wasm run: | emsdk install ${EM_VERSION} emsdk activate ${EM_VERSION} source $(dirname $(which emsdk))/emsdk_env.sh which node which clang++ npm run build:wasm - name: Test run: npm test