Add a GitHub Workflow to validate JS bindings

This commit is contained in:
Nick Gerleman
2022-12-21 23:55:08 -08:00
parent ca8e9be31c
commit 6ad64e1027
4 changed files with 71 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
name: Install emsdk (including emcc)
inputs:
version:
description: EMCC Version to install
required: false
default: 3.1.28
runs:
using: "composite"
steps:
- name: Clone emsdk repo
working-directory: ${{ runner.temp }}
shell: bash
run: git clone https://github.com/emscripten-core/emsdk.git
- name: emdsk install
working-directory: ${{ runner.temp }}/emsdk
shell: bash
run: |
./emsdk install ${{ inputs.version }}
./emsdk activate ${{ inputs.version }}
source $RUNNER_TEMP/emsdk/emsdk_env.sh

17
.github/actions/setup-js/action.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
name: Setup JavaScript envirionment
runs:
using: "composite"
steps:
- name: Install Node
uses: actions/setup-node@v1
with:
node-version: 18.x
- name: Install emsdk
uses: ./.github/actions/install-emsdk
- name: yarn install
shell: bash
run: yarn install --frozen-lockfile
working-directory: javascript

View File

@@ -3,11 +3,15 @@ name: Setup Website envirionment
runs:
using: "composite"
steps:
- name: Install NodeJS 12
# TODO: Update to latest when website is moved to the workspace version of
# yoga-layout
- name: Install Node
uses: actions/setup-node@v1
with:
node-version: 12.x
# TODO: the website should be in a yarn workspace with the library, but the
# current version of gatsby is incompatible with hoisting.
- name: yarn install
shell: bash
run: yarn install --frozen-lockfile

27
.github/workflows/validate-js.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
name: JavaScript
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
name: Build + Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup-js
- name: yarn build
run: yarn build
working-directory: javascript
- name: yarn test
run: yarn test
working-directory: javascript