From 2dc4f843bcadeeeeda3f2af81dd700733babe5eb Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 24 Jun 2021 10:09:57 +1000 Subject: [PATCH] github/workflows: Add workflow to build and test javascript port. Signed-off-by: Damien George --- .github/workflows/ports_javascript.yml | 24 ++++++++++++++++++++++++ tools/ci.sh | 18 ++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 .github/workflows/ports_javascript.yml diff --git a/.github/workflows/ports_javascript.yml b/.github/workflows/ports_javascript.yml new file mode 100644 index 000000000..244dc966a --- /dev/null +++ b/.github/workflows/ports_javascript.yml @@ -0,0 +1,24 @@ +name: javascript port + +on: + push: + pull_request: + paths: + - '.github/workflows/*.yml' + - 'tools/**' + - 'py/**' + - 'extmod/**' + - 'lib/**' + - 'ports/javascript/**' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install packages + run: source tools/ci.sh && ci_javascript_setup + - name: Build + run: source tools/ci.sh && ci_javascript_build + - name: Run tests + run: source tools/ci.sh && ci_javascript_run_tests diff --git a/tools/ci.sh b/tools/ci.sh index 6d7c643f5..a82eedd20 100755 --- a/tools/ci.sh +++ b/tools/ci.sh @@ -138,6 +138,24 @@ function ci_esp8266_build { make ${MAKEOPTS} -C ports/esp8266 BOARD=GENERIC_1M } +######################################################################################## +# ports/javascript + +function ci_javascript_setup { + git clone https://github.com/emscripten-core/emsdk.git + (cd emsdk && ./emsdk install latest && ./emsdk activate latest) +} + +function ci_javascript_build { + source emsdk/emsdk_env.sh + make ${MAKEOPTS} -C ports/javascript +} + +function ci_javascript_run_tests { + # This port is very slow at running, so only run a few of the tests. + (cd tests && MICROPY_MICROPYTHON=../ports/javascript/node_run.sh ./run-tests.py -j1 basics/builtin_*.py) +} + ######################################################################################## # ports/mimxrt