@@ -3,19 +3,19 @@ sudo: false
33
44matrix :
55 include :
6- - rust : 1.32.0
7- env : DESCRIPTION="Linux, 1.32.0"
6+ - name : " Linux, 1.32.0"
7+ rust : 1.32.0
88 os : linux
99
10- - rust : 1.32.0
11- env : DESCRIPTION="OSX, 1.32.0"
10+ - name : " OSX, 1.32.0"
11+ rust : 1.32.0
1212 os : osx
1313
14- - rust : stable
15- env : DESCRIPTION="Linux, stable"
14+ - name : " Linux, stable"
15+ rust : stable
1616
17- - rust : stable
18- env : DESCRIPTION="OSX+iOS, stable"
17+ - name : " OSX+iOS, stable"
18+ rust : stable
1919 os : osx
2020 install :
2121 - rustup target add aarch64-apple-ios
@@ -24,19 +24,42 @@ matrix:
2424 - cargo test --examples
2525 - cargo build --target aarch64-apple-ios
2626
27- - rust : beta
28- env : DESCRIPTION="Linux, beta"
27+ - name : " Linux, beta"
28+ rust : beta
2929
30- - rust : stable
31- env : DESCRIPTION="Rustfmt"
30+ - name : " WASM via emscripten, stdweb, wasm-bindgen and WASI "
31+ rust : nightly
3232 install :
33- - rustup component add rustfmt
33+ - rustup target add wasm32-unknown-unknown
34+ - rustup target add wasm32-unknown-emscripten
35+ - rustup target add wasm32-wasi
36+ - nvm install 9
37+ - ./utils/ci/install_cargo_web.sh
38+ - cargo web prepare-emscripten
39+ - cargo web -V
40+ - cargo list | grep install-update || cargo install -f cargo-update
41+ - cargo install-update -i cargo-update wasm-bindgen-cli wasm-pack
42+ addons :
43+ chrome : stable
3444 script :
35- - cargo fmt --all -- */*.rs --check
45+ # Testing wasm32-unknown-emscripten fails because of rust-lang/rust#49877
46+ # However, we can still build and link all tests to make sure that works.
47+ # This is actually useful as it finds stuff such as rust-random/rand#669
48+ - EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0" cargo web test --target wasm32-unknown-emscripten --no-run
49+ # - cargo web test --target wasm32-unknown-emscripten
50+ # - cargo web test --nodejs --target wasm32-unknown-emscripten
51+ # - cargo build --target wasm32-unknown-unknown # without any features
52+ - cargo build --target wasm32-wasi
53+ - cargo build --target wasm32-unknown-unknown --features=wasm-bindgen
54+ - cargo web test --target wasm32-unknown-unknown --features=stdweb
55+ - cargo build --manifest-path tests/wasm_bindgen/Cargo.toml --target wasm32-unknown-unknown
56+ - wasm-bindgen --nodejs target/wasm32-unknown-unknown/debug/getrandom_wasm_bindgen_test.wasm --out-dir tests/wasm_bindgen/js
57+ - node tests/wasm_bindgen/js/index.js
58+ - wasm-pack test --node tests/wasm_bindgen
3659
37- - rust : nightly
60+ - name : " Linux, nightly, docs"
61+ rust : nightly
3862 os : linux
39- env : DESCRIPTION="Linux, nightly, docs"
4063 install :
4164 - cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
4265 - cargo deadlinks -V
@@ -52,9 +75,9 @@ matrix:
5275 - cargo generate-lockfile -Z minimal-versions
5376 - cargo test
5477
55- - rust : nightly
78+ - name : " OSX, nightly, docs"
79+ rust : nightly
5680 os : osx
57- env : DESCRIPTION="OSX, nightly, docs"
5881 install :
5982 - cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
6083 - cargo deadlinks -V
@@ -70,38 +93,8 @@ matrix:
7093 - cargo generate-lockfile -Z minimal-versions
7194 - cargo test
7295
73- - rust : nightly
74- env : DESCRIPTION="WASM via emscripten, stdweb, wasm-bindgen and WASI"
75- install :
76- - rustup target add wasm32-unknown-unknown
77- - rustup target add wasm32-unknown-emscripten
78- - rustup target add wasm32-wasi
79- - nvm install 9
80- - ./utils/ci/install_cargo_web.sh
81- - cargo web prepare-emscripten
82- - cargo web -V
83- - cargo list | grep install-update || cargo install -f cargo-update
84- - cargo install-update -i cargo-update wasm-bindgen-cli wasm-pack
85- addons :
86- chrome : stable
87- script :
88- # Testing wasm32-unknown-emscripten fails because of rust-lang/rust#49877
89- # However, we can still build and link all tests to make sure that works.
90- # This is actually useful as it finds stuff such as rust-random/rand#669
91- - EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0" cargo web test --target wasm32-unknown-emscripten --no-run
92- # - cargo web test --target wasm32-unknown-emscripten
93- # - cargo web test --nodejs --target wasm32-unknown-emscripten
94- # - cargo build --target wasm32-unknown-unknown # without any features
95- - cargo build --target wasm32-wasi
96- - cargo build --target wasm32-unknown-unknown --features=wasm-bindgen
97- - cargo web test --target wasm32-unknown-unknown --features=stdweb
98- - cargo build --manifest-path tests/wasm_bindgen/Cargo.toml --target wasm32-unknown-unknown
99- - wasm-bindgen --nodejs target/wasm32-unknown-unknown/debug/getrandom_wasm_bindgen_test.wasm --out-dir tests/wasm_bindgen/js
100- - node tests/wasm_bindgen/js/index.js
101- - wasm-pack test --node tests/wasm_bindgen
102-
103- - rust : nightly
104- env : DESCRIPTION="cross-platform build only"
96+ - name : " cross-platform build only"
97+ rust : nightly
10598 # libc on Redox is broken: see https://github.com/rust-lang/libc/pull/1450
10699 install :
107100 - rustup target add x86_64-sun-solaris
@@ -140,36 +133,48 @@ matrix:
140133 - cargo xbuild --target=x86_64-uwp-windows-gnu
141134
142135 # Trust cross-built/emulated targets. We must repeat all non-default values.
143- - rust : stable
136+ - name : " Linux (MIPS, big-endian)"
137+ env : TARGET=mips-unknown-linux-gnu
138+ rust : stable
144139 sudo : required
145140 dist : trusty
146141 services : docker
147- env : DESCRIPTION="Linux (MIPS, big-endian)" TARGET=mips-unknown-linux-gnu
148142 install :
149143 - sh utils/ci/install.sh
150144 - source ~/.cargo/env || true
151145 script :
152146 - bash utils/ci/script.sh
153147
154- - rust : stable
148+ - name : " Android (ARMv7)"
149+ env : TARGET=armv7-linux-androideabi
150+ rust : stable
155151 sudo : required
156152 dist : trusty
157153 services : docker
158- env : DESCRIPTION="Android (ARMv7)" TARGET=armv7-linux-androideabi
159154 install :
160155 - sh utils/ci/install.sh
161156 - source ~/.cargo/env || true
162157 script :
163158 - bash utils/ci/script.sh
164159
160+ - name : " rustfmt"
161+ rust : stable
162+ install :
163+ - rustup component add rustfmt
164+ script :
165+ - cargo fmt --all -- */*.rs --check
166+
165167 allow_failures :
166168 # Formatting errors should appear in Travis, but not break the build.
167- - env : DESCRIPTION="Rustfmt "
169+ - name : " rustfmt "
168170
169171before_install :
170172 - set -e
171173 - rustup self update
172174
175+ before_script :
176+ - export RUSTFLAGS="-D warnings"
177+
173178script :
174179 - cargo test
175180 - cargo test --examples
@@ -188,3 +193,7 @@ before_cache:
188193notifications :
189194 email :
190195 on_success : never
196+
197+ branches :
198+ only :
199+ - master
0 commit comments