@@ -27,15 +27,13 @@ matrix:
27
27
- name : " Linux, beta"
28
28
rust : beta
29
29
30
- - name : " WASM via emscripten, stdweb, wasm-bindgen and WASI"
31
- rust : nightly
30
+ - name : " WASM via stdweb, wasm-bindgen and WASI"
31
+ rust : stable
32
32
addons :
33
33
firefox : latest
34
34
chrome : stable
35
35
install :
36
36
- rustup target add wasm32-unknown-unknown
37
- - rustup target add wasm32-unknown-emscripten
38
- - rustup target add asmjs-unknown-emscripten
39
37
- rustup target add wasm32-wasi
40
38
# Get latest geckodriver
41
39
- export VERSION=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | jq -r ".tag_name")
@@ -60,15 +58,7 @@ matrix:
60
58
- tar -xzf wasm-bindgen.tar.gz --strip-components=1
61
59
# Place the runner binaries in our PATH
62
60
- mv cargo-web wasmtime wasm-bindgen-test-runner $HOME/.cargo/bin
63
- # Download and setup emscripten
64
- - cargo web prepare-emscripten
65
- env : EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0"
66
61
script :
67
- # We cannot run emscripten test binaries (see rust-lang/rust#63649).
68
- # However, we can still build and link all tests to make sure that works.
69
- # This is actually useful as it finds stuff such as rust-random/rand#669
70
- - cargo web test --target wasm32-unknown-emscripten --no-run
71
- - cargo web test --target asmjs-unknown-emscripten --no-run
72
62
# wasi tests
73
63
- cargo test --target wasm32-wasi
74
64
# stdweb tests (Node, Chrome)
@@ -79,6 +69,24 @@ matrix:
79
69
- GECKODRIVER=$PWD/geckodriver cargo test --target wasm32-unknown-unknown --features=test-in-browser
80
70
- CHROMEDRIVER=$PWD/chromedriver cargo test --target wasm32-unknown-unknown --features=test-in-browser
81
71
72
+ - name : " WASM via Emscripten"
73
+ rust : stable
74
+ env :
75
+ - CARGO_TARGET_WASM32_UNKNOWN_EMSCRIPTEN_RUNNER=node
76
+ - CARGO_TARGET_ASMJS_UNKNOWN_EMSCRIPTEN_RUNNER=node
77
+ install :
78
+ - rustup target add wasm32-unknown-emscripten
79
+ - rustup target add asmjs-unknown-emscripten
80
+ - export VERSION=1.39.13 # Pin version for stability
81
+ - git clone https://github.com/emscripten-core/emsdk.git
82
+ - ./emsdk/emsdk install $VERSION
83
+ - ./emsdk/emsdk activate $VERSION
84
+ - source ./emsdk/emsdk_env.sh
85
+ script :
86
+ - cargo test --target wasm32-unknown-emscripten
87
+ # Prevent 'wasm2js does not support source maps yet' error.
88
+ - RUSTFLAGS='-C debuginfo=0' cargo test --target asmjs-unknown-emscripten
89
+
82
90
- name : " Linux, nightly, docs"
83
91
rust : nightly
84
92
os : linux
0 commit comments