Note
This repository hosted a friendly fork of the upstream mymindstorm/setup-emsdk action until emscripten-core#48 was merged. At the time of writing, this form is no longer needed, as the upstream action has returned to active maintenance and has been merged into the Emscripten organisation. Please use it via https://github.com/emscripten-core/setup-emsdk.
This actions step downloads emsdk and installs a version of Emscripten.
name: "emsdk"
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: pyodide/setup-emsdk@v15
- name: Verify
run: emcc -vTo just cache emsdk:
- name: Setup emsdk
uses: pyodide/setup-emsdk@v15
with:
# Make sure to set a version number!
version: 1.38.40
# This is the name of the cache folder.
# The cache folder will be placed in the build directory,
# so make sure it doesn't conflict with anything!
actions-cache-folder: 'emsdk-cache'
- name: Verify
run: emcc -vIf you want to also cache system libraries generated during build time:
env:
EM_VERSION: 1.39.18
EM_CACHE_FOLDER: 'emsdk-cache'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup cache
id: cache-system-libraries
uses: actions/cache@v2
with:
path: ${{env.EM_CACHE_FOLDER}}
key: ${{env.EM_VERSION}}-${{ runner.os }}
- uses: pyodide/setup-emsdk@v15
with:
version: ${{env.EM_VERSION}}
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
- name: Build library
run: make -j2
- name: Run unit tests
run: make checkversion:
description: 'Version to install'
default: 'latest'
no-install:
description: "If true will not download any version of Emscripten. emsdk will still be added to PATH."
default: false
no-cache:
description: "If true will not cache any downloads with tc.cacheDir."
default: false
actions-cache-folder:
description: "Directory to cache emsdk in. This folder will go under $GITHUB_HOME (I.e. build dir) and be cached using @actions/cache."
default: ''
update:
description: "Fetch package information for all the new tools and SDK versions"
default: falseSee action.yml