Merge pull request #1180 from CyberShadow/pull-20210618-110411
Pin emscripten/emsdk Docker version
This commit is contained in:
commit
e7d3b29470
6 changed files with 21 additions and 8 deletions
5
.github/workflows/ci.yml
vendored
5
.github/workflows/ci.yml
vendored
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
1
emscripten-version
Normal file
|
|
@ -0,0 +1 @@
|
|||
2.0.11
|
||||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue