@@ -27,15 +27,13 @@ matrix:
2727 - name : " Linux, beta"
2828 rust : beta
2929
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
3232 addons :
3333 firefox : latest
3434 chrome : stable
3535 install :
3636 - rustup target add wasm32-unknown-unknown
37- - rustup target add wasm32-unknown-emscripten
38- - rustup target add asmjs-unknown-emscripten
3937 - rustup target add wasm32-wasi
4038 # Get latest geckodriver
4139 - export VERSION=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | jq -r ".tag_name")
@@ -60,15 +58,7 @@ matrix:
6058 - tar -xzf wasm-bindgen.tar.gz --strip-components=1
6159 # Place the runner binaries in our PATH
6260 - 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"
6661 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
7262 # wasi tests
7363 - cargo test --target wasm32-wasi
7464 # stdweb tests (Node, Chrome)
@@ -79,6 +69,24 @@ matrix:
7969 - GECKODRIVER=$PWD/geckodriver cargo test --target wasm32-unknown-unknown --features=test-in-browser
8070 - CHROMEDRIVER=$PWD/chromedriver cargo test --target wasm32-unknown-unknown --features=test-in-browser
8171
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+
8290 - name : " Linux, nightly, docs"
8391 rust : nightly
8492 os : linux
0 commit comments