11language : rust
2- sudo : false
2+ os : linux
33
4- matrix :
4+ # Targets that we just build (rather than run and test)
5+ env :
6+ global :
7+ - STD_TARGETS="x86_64-sun-solaris x86_64-unknown-cloudabi x86_64-unknown-freebsd x86_64-fuchsia x86_64-unknown-netbsd x86_64-unknown-redox x86_64-fortanix-unknown-sgx"
8+ - NO_STD_TARGETS="x86_64-unknown-uefi x86_64-unknown-hermit x86_64-unknown-l4re-uclibc x86_64-uwp-windows-gnu x86_64-wrs-vxworks"
9+
10+ jobs :
511 include :
612 - name : " Linux, 1.32.0"
713 rust : 1.32.0
8- os : linux
914
1015 - name : " OSX, 1.32.0"
1116 rust : 1.32.0
@@ -68,41 +73,40 @@ matrix:
6873 # This is actually useful as it finds stuff such as rust-random/rand#669
6974 - cargo web test --target wasm32-unknown-emscripten --no-run
7075 - cargo web test --target asmjs-unknown-emscripten --no-run
71- # wasi tests
7276 - cargo test --target wasm32-wasi
73- # stdweb tests (Node, Chrome)
74- - cd custom/stdweb
75- - cargo web test --nodejs --target=wasm32-unknown-unknown
76- - cargo web test --target=wasm32-unknown-unknown
77- # wasm-bindgen tests (Node, Firefox, Chrome)
78- - cd ../wasm-bindgen
79- - cargo test --target wasm32-unknown-unknown
80- - GECKODRIVER=$HOME/geckodriver cargo test --target wasm32-unknown-unknown --features=test-in-browser
81- - CHROMEDRIVER=$HOME/chromedriver cargo test --target wasm32-unknown-unknown --features=test-in-browser
77+ # stdweb (wasm32-unknown-unknown) tests (Node, Chrome)
78+ - cargo web test --package stdweb-getrandom
79+ - cargo web test --package stdweb-getrandom --nodejs
80+ # wasm-bindgen (wasm32-unknown-unknown) tests (Node, Firefox, Chrome)
81+ - cargo test --package wasm-bindgen-getrandom
82+ --target wasm32-unknown-unknown --test node
83+ - GECKODRIVER=$HOME/geckodriver
84+ cargo test --package wasm-bindgen-getrandom
85+ --target wasm32-unknown-unknown --test web
86+ - CHROMEDRIVER=$HOME/chromedriver
87+ cargo test --package wasm-bindgen-getrandom
88+ --target wasm32-unknown-unknown --test web
8289
8390 - &nightly_and_docs
8491 name : " Linux, nightly, docs"
8592 rust : nightly
86- os : linux
8793 install :
8894 - rustup target add wasm32-unknown-unknown
8995 - cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
9096 - cargo deadlinks -V
9197 script :
92- # Check that our tests pass in the default configuration
93- - cargo test
94- - cargo test --benches
9598 # Check that setting various features does not break the build
9699 - cargo build --features=std
97100 - cargo build --features=custom
98101 # remove cached documentation, otherwise files from previous PRs can get included
99102 - rm -rf target/doc
100103 - cargo doc --no-deps --features=std,custom
101- - cargo doc --no-deps --manifest-path=custom/ wasm-bindgen/Cargo.toml --target=wasm32-unknown-unknown
104+ - cargo doc --no-deps --package wasm-bindgen-getrandom --target=wasm32-unknown-unknown
102105 - cargo deadlinks --dir target/doc
103- # also test minimum dependency versions are usable
106+ # Check that our tests pass in the default/minimal configuration
107+ - cargo test --tests --benches
104108 - cargo generate-lockfile -Z minimal-versions
105- - cargo test --features=std,custom
109+ - cargo test --tests --benches
106110
107111 - << : *nightly_and_docs
108112 name : " OSX, nightly, docs"
@@ -111,49 +115,23 @@ matrix:
111115 - name : " cross-platform build only"
112116 rust : nightly
113117 install :
114- - rustup target add x86_64-sun-solaris
115- - rustup target add x86_64-unknown-cloudabi
116- - rustup target add x86_64-unknown-freebsd
117- - rustup target add x86_64-fuchsia
118- - rustup target add x86_64-unknown-netbsd
119- - rustup target add x86_64-unknown-redox
120- - rustup target add x86_64-fortanix-unknown-sgx
118+ - echo $STD_TARGETS | xargs -n1 rustup target add
121119 # For no_std targets
122120 - rustup component add rust-src
123- - cargo install cargo- xbuild || true
121+ - cargo --list | egrep "^\s* xbuild$" -q || cargo install cargo-xbuild
124122 script :
125- - cargo build --target=x86_64-sun-solaris
126- - cargo build --target=x86_64-unknown-cloudabi
127- - cargo build --target=x86_64-unknown-freebsd
128- - cargo build --target=x86_64-fuchsia
129- - cargo build --target=x86_64-unknown-netbsd
130- - cargo build --target=x86_64-unknown-redox
131- - cargo build --target=x86_64-fortanix-unknown-sgx
132- - cargo xbuild --target=x86_64-unknown-uefi
133- - cargo xbuild --target=x86_64-unknown-hermit
134- - cargo xbuild --target=x86_64-unknown-l4re-uclibc
135- - cargo xbuild --target=x86_64-uwp-windows-gnu
136- - cargo xbuild --target=x86_64-wrs-vxworks
123+ # We test that getrandom builds for all targets
124+ - echo $STD_TARGETS | xargs -t -n1 cargo build --target
125+ - echo $NO_STD_TARGETS | xargs -t -n1 cargo xbuild --target
137126 # also test minimum dependency versions are usable
138127 - cargo generate-lockfile -Z minimal-versions
139- - cargo build --target=x86_64-sun-solaris
140- - cargo build --target=x86_64-unknown-cloudabi
141- - cargo build --target=x86_64-unknown-freebsd
142- - cargo build --target=x86_64-fuchsia
143- - cargo build --target=x86_64-unknown-netbsd
144- - cargo build --target=x86_64-unknown-redox
145- - cargo build --target=x86_64-fortanix-unknown-sgx
146- - cargo xbuild --target=x86_64-unknown-uefi
147- - cargo xbuild --target=x86_64-unknown-hermit
148- - cargo xbuild --target=x86_64-unknown-l4re-uclibc
149- - cargo xbuild --target=x86_64-uwp-windows-gnu
150- - cargo xbuild --target=x86_64-wrs-vxworks
128+ - echo $STD_TARGETS | xargs -t -n1 cargo build --target
129+ - echo $NO_STD_TARGETS | xargs -t -n1 cargo xbuild --target
151130
152131 # Trust cross-built/emulated targets. We must repeat all non-default values.
153132 - name : " Linux (MIPS, big-endian)"
154133 env : TARGET=mips-unknown-linux-gnu
155134 rust : stable
156- sudo : required
157135 dist : trusty
158136 services : docker
159137 install :
@@ -165,7 +143,6 @@ matrix:
165143 - name : " Android (ARMv7)"
166144 env : TARGET=armv7-linux-androideabi
167145 rust : stable
168- sudo : required
169146 dist : trusty
170147 services : docker
171148 install :
0 commit comments