Merge pull request #1180 from CyberShadow/pull-20210618-110411

Pin emscripten/emsdk Docker version
This commit is contained in:
Max Brunsfeld 2021-06-29 15:45:24 -07:00 committed by GitHub
commit e7d3b29470
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 8 deletions

View file

@ -13,7 +13,6 @@ on:
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
EMSCRIPTEN_VERSION: 2.0.11
jobs:
tests:
@ -35,6 +34,10 @@ jobs:
run: |
echo PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH" >> $GITHUB_ENV
- name: Read Emscripten version
run: |
printf 'EMSCRIPTEN_VERSION=%s\n' "$(cat emscripten-version)" >> $GITHUB_ENV
- name: Cache artifacts
id: cache
uses: actions/cache@v2

View file

@ -9,6 +9,12 @@ fn main() {
if wasm_files_present() {
println!("cargo:rustc-cfg={}", "TREE_SITTER_EMBED_WASM_BINDING");
}
let emscripten_version = fs::read_to_string("../emscripten-version").unwrap();
println!(
"cargo:rustc-env={}={}",
"EMSCRIPTEN_VERSION", emscripten_version
);
}
fn wasm_files_present() -> bool {

View file

@ -6,6 +6,8 @@ use std::path::Path;
use std::process::Command;
use which::which;
const EMSCRIPTEN_TAG: &'static str = concat!("emscripten/emsdk:", env!("EMSCRIPTEN_VERSION"));
pub fn get_grammar_name(src_dir: &Path) -> Result<String> {
let grammar_json_path = src_dir.join("grammar.json");
let grammar_json = fs::read_to_string(&grammar_json_path)
@ -61,7 +63,7 @@ pub fn compile_language_to_wasm(language_dir: &Path, force_docker: bool) -> Resu
}
// Run `emcc` in a container using the `emscripten-slim` image
command.args(&["emscripten/emsdk", "emcc"]);
command.args(&[EMSCRIPTEN_TAG, "emcc"]);
} else {
return Err(anyhow!(
"You must have either emcc or docker on your PATH to run this command"

1
emscripten-version Normal file
View file

@ -0,0 +1 @@
2.0.11

View file

@ -33,6 +33,7 @@ web_dir=lib/binding_web
emscripten_flags="-O3"
minify_js=1
force_docker=0
emscripen_version=$(cat "$(dirname "$0")"/../emscripten-version)
while [[ $# > 0 ]]; do
case "$1" in
@ -63,11 +64,11 @@ emcc=
if which emcc > /dev/null && [[ "$force_docker" == "0" ]]; then
emcc=emcc
elif which docker > /dev/null; then
emcc="docker run \
--rm \
-v $(pwd):/src:Z \
-u $(id -u) \
emscripten/emsdk \
emcc="docker run \
--rm \
-v $(pwd):/src:Z \
-u $(id -u) \
emscripten/emsdk:$emscripen_version \
emcc"
else
echo 'You must have either `docker` or `emcc` on your PATH to run this script'

View file

@ -2,7 +2,7 @@
set -e
EMSCRIPTEN_VERSION=2.0.9
EMSCRIPTEN_VERSION=$(cat "$(dirname "$0")/../emscripten-version")
mkdir -p target
EMSDK_DIR="./target/emsdk"