1
1
language : rust
2
- sudo : false
2
+ os : linux
3
3
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 :
5
11
include :
6
12
- name : " Linux, 1.32.0"
7
13
rust : 1.32.0
8
- os : linux
9
14
10
15
- name : " OSX, 1.32.0"
11
16
rust : 1.32.0
@@ -68,41 +73,40 @@ matrix:
68
73
# This is actually useful as it finds stuff such as rust-random/rand#669
69
74
- cargo web test --target wasm32-unknown-emscripten --no-run
70
75
- cargo web test --target asmjs-unknown-emscripten --no-run
71
- # wasi tests
72
76
- 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
82
89
83
90
- &nightly_and_docs
84
91
name : " Linux, nightly, docs"
85
92
rust : nightly
86
- os : linux
87
93
install :
88
94
- rustup target add wasm32-unknown-unknown
89
95
- cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
90
96
- cargo deadlinks -V
91
97
script :
92
- # Check that our tests pass in the default configuration
93
- - cargo test
94
- - cargo test --benches
95
98
# Check that setting various features does not break the build
96
99
- cargo build --features=std
97
100
- cargo build --features=custom
98
101
# remove cached documentation, otherwise files from previous PRs can get included
99
102
- rm -rf target/doc
100
103
- 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
102
105
- 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
104
108
- cargo generate-lockfile -Z minimal-versions
105
- - cargo test --features=std,custom
109
+ - cargo test --tests --benches
106
110
107
111
- << : *nightly_and_docs
108
112
name : " OSX, nightly, docs"
@@ -111,49 +115,23 @@ matrix:
111
115
- name : " cross-platform build only"
112
116
rust : nightly
113
117
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
121
119
# For no_std targets
122
120
- rustup component add rust-src
123
- - cargo install cargo- xbuild || true
121
+ - cargo --list | egrep "^\s* xbuild$" -q || cargo install cargo-xbuild
124
122
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 -n1 cargo build --target
125
+ - echo $NO_STD_TARGETS | xargs -n1 cargo xbuild --target
137
126
# also test minimum dependency versions are usable
138
127
- 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 -n1 cargo build --target
129
+ - echo $NO_STD_TARGETS | xargs -n1 cargo xbuild --target
151
130
152
131
# Trust cross-built/emulated targets. We must repeat all non-default values.
153
132
- name : " Linux (MIPS, big-endian)"
154
133
env : TARGET=mips-unknown-linux-gnu
155
134
rust : stable
156
- sudo : required
157
135
dist : trusty
158
136
services : docker
159
137
install :
@@ -165,7 +143,6 @@ matrix:
165
143
- name : " Android (ARMv7)"
166
144
env : TARGET=armv7-linux-androideabi
167
145
rust : stable
168
- sudo : required
169
146
dist : trusty
170
147
services : docker
171
148
install :
0 commit comments