1
1
language : rust
2
- sudo : false
2
+ os : linux
3
3
4
- matrix :
4
+ jobs :
5
5
include :
6
6
- name : " Linux, 1.32.0"
7
7
rust : 1.32.0
8
- os : linux
9
8
10
9
- name : " OSX, 1.32.0"
11
10
rust : 1.32.0
@@ -20,7 +19,7 @@ matrix:
20
19
install :
21
20
- rustup target add aarch64-apple-ios
22
21
script :
23
- - cargo test
22
+ - cargo test --package getrandom --package cpurand-getrandom --tests
24
23
- cargo build --target aarch64-apple-ios
25
24
26
25
- name : " Linux, beta"
@@ -63,46 +62,44 @@ matrix:
63
62
- cargo web prepare-emscripten
64
63
env : EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0"
65
64
script :
66
- # We cannot run emscripten test binaries (see rust-lang/rust#63649).
67
- # However, we can still build and link all tests to make sure that works.
68
- # This is actually useful as it finds stuff such as rust-random/rand#669
69
- - cargo web test --target wasm32-unknown-emscripten --no-run
70
- - cargo web test --target asmjs-unknown-emscripten --no-run
71
- # wasi tests
65
+ # Test our supported web targets
66
+ - cargo web test --target wasm32-unknown-emscripten
67
+ - cargo web test --target asmjs-unknown-emscripten
72
68
- 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 --test node
80
- - GECKODRIVER=$HOME/geckodriver cargo test --target wasm32-unknown-unknown --test web
81
- - CHROMEDRIVER=$HOME/chromedriver cargo test --target wasm32-unknown-unknown --test web
69
+ # stdweb (wasm32-unknown-unknown) tests (Node, Chrome)
70
+ - cargo web test --package stdweb-getrandom
71
+ - cargo web test --package stdweb-getrandom --nodejs
72
+ # wasm-bindgen (wasm32-unknown-unknown) tests (Node, Firefox, Chrome)
73
+ - cargo test --package wasm-bindgen-getrandom
74
+ --target wasm32-unknown-unknown --test node
75
+ - GECKODRIVER=$HOME/geckodriver
76
+ cargo test --package wasm-bindgen-getrandom
77
+ --target wasm32-unknown-unknown --test web
78
+ - CHROMEDRIVER=$HOME/chromedriver
79
+ cargo test --package wasm-bindgen-getrandom
80
+ --target wasm32-unknown-unknown --test web
82
81
83
82
- &nightly_and_docs
84
83
name : " Linux, nightly, docs"
85
84
rust : nightly
86
- os : linux
87
85
install :
88
86
- rustup target add wasm32-unknown-unknown
89
87
- cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
90
88
- cargo deadlinks -V
91
89
script :
92
- # Check that our tests pass in the default configuration
93
- - cargo test
94
- - cargo test --benches
95
90
# Check that setting various features does not break the build
96
91
- cargo build --features=std
97
92
- cargo build --features=custom
98
93
# remove cached documentation, otherwise files from previous PRs can get included
99
94
- rm -rf target/doc
100
95
- cargo doc --no-deps --features=std,custom
101
- - cargo doc --no-deps --manifest-path=custom/wasm-bindgen/Cargo.toml --target=wasm32-unknown-unknown
96
+ - cargo doc --no-deps --package cpurand-getrandom
97
+ - cargo doc --no-deps --package wasm-bindgen-getrandom --target=wasm32-unknown-unknown
102
98
- cargo deadlinks --dir target/doc
103
- # also test minimum dependency versions are usable
99
+ # Check that our tests pass in the default/minimal configuration
100
+ - cargo test --package getrandom --package cpurand-getrandom --tests --benches
104
101
- cargo generate-lockfile -Z minimal-versions
105
- - cargo test --features=std,custom
102
+ - cargo test --package getrandom --package cpurand-getrandom --tests --benches
106
103
107
104
- << : *nightly_and_docs
108
105
name : " OSX, nightly, docs"
@@ -111,37 +108,48 @@ matrix:
111
108
- name : " cross-platform build only"
112
109
rust : nightly
113
110
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
111
+ - export STD_TARGETS=(
112
+ x86_64-sun-solaris
113
+ x86_64-unknown-cloudabi
114
+ x86_64-unknown-freebsd
115
+ x86_64-fuchsia
116
+ x86_64-unknown-netbsd
117
+ x86_64-unknown-redox
118
+ x86_64-fortanix-unknown-sgx
119
+ )
120
+ - export NO_STD_TARGETS=(
121
+ x86_64-unknown-uefi
122
+ x86_64-unknown-hermit
123
+ x86_64-unknown-l4re-uclibc
124
+ x86_64-uwp-windows-gnu
125
+ x86_64-wrs-vxworks
126
+ )
127
+ - for TARGET in ${STD_TARGETS[@]}; do rustup target add $TARGET; done
121
128
# For no_std targets
122
129
- rustup component add rust-src
123
- - cargo install cargo- xbuild || true
130
+ - cargo --list | egrep "^\s* xbuild$" -q || cargo install cargo-xbuild
124
131
script :
125
- # We test that getrandom and cpurand build for all x86 targets
126
- - cd custom/cpurand
127
- - cargo build --target=x86_64-sun-solaris
128
- - cargo build --target=x86_64-unknown-cloudabi
129
- - cargo build --target=x86_64-unknown-freebsd
130
- - cargo build --target=x86_64-fuchsia
131
- - cargo build --target=x86_64-unknown-netbsd
132
- - cargo build --target=x86_64-unknown-redox
133
- - cargo build --target=x86_64-fortanix-unknown-sgx
134
- - cargo xbuild --target=x86_64-unknown-uefi
135
- - cargo xbuild --target=x86_64-unknown-hermit
136
- - cargo xbuild --target=x86_64-unknown-l4re-uclibc
137
- - cargo xbuild --target=x86_64-uwp-windows-gnu
138
- - cargo xbuild --target=x86_64-wrs-vxworks
132
+ # As all of the targets here are x86, it is enough to test that
133
+ # getrandom and getrandom-cpu build for all x86 targets.
134
+ - for TARGET in ${STD_TARGETS[@]}; do
135
+ cargo build --package cpurand-getrandom --target $TARGET;
136
+ done
137
+ - for TARGET in ${NO_STD_TARGETS[@]}; do
138
+ cargo xbuild --package cpurand-getrandom --target $TARGET;
139
+ done
140
+ # Also check that minimum versions build
141
+ - cargo generate-lockfile -Z minimal-versions
142
+ - for TARGET in ${STD_TARGETS[@]}; do
143
+ cargo build --package cpurand-getrandom --target $TARGET;
144
+ done
145
+ - for TARGET in ${NO_STD_TARGETS[@]}; do
146
+ cargo xbuild --package cpurand-getrandom --target $TARGET;
147
+ done
139
148
140
149
# Trust cross-built/emulated targets. We must repeat all non-default values.
141
150
- name : " Linux (MIPS, big-endian)"
142
151
env : TARGET=mips-unknown-linux-gnu
143
152
rust : stable
144
- sudo : required
145
153
dist : trusty
146
154
services : docker
147
155
install :
@@ -153,7 +161,6 @@ matrix:
153
161
- name : " Android (ARMv7)"
154
162
env : TARGET=armv7-linux-androideabi
155
163
rust : stable
156
- sudo : required
157
164
dist : trusty
158
165
services : docker
159
166
install :
@@ -181,7 +188,7 @@ before_script:
181
188
- export RUSTFLAGS="-D warnings"
182
189
183
190
script :
184
- - cargo test
191
+ - cargo test --package getrandom --package cpurand-getrandom --tests
185
192
186
193
after_script : set +e
187
194
0 commit comments