Tip
This repository hosts a friendly fork of the upstream mymindstorm/setup-emsdk action. This repository is actively maintained by the Pyodide team and has been updated to support the latest GitHub Actions features.
This repository shall be archived in the future once the upstream action comes back to maintenance and when mymindstorm#48 is merged.
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