Skip to content

Commit 5e4d545

Browse files
committed
Extend CI configuration
1 parent d162a5e commit 5e4d545

File tree

1 file changed

+66
-29
lines changed

1 file changed

+66
-29
lines changed

.travis.yml

Lines changed: 66 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,57 @@ sudo: false
99
matrix:
1010
include:
1111
- rust: 1.22.0
12+
env: DESCRIPTION="pinned stable Rust release"
1213
install:
1314
script:
14-
# TODO: use --tests instead of --lib on more recent compiler
1515
- cargo test --lib --no-default-features
16+
- cargo test --features=serde1,log
17+
- cargo test --examples
18+
- cargo test --package rand_core
1619
- cargo test --package rand_core --no-default-features
17-
- cargo test --features serde1,log
20+
- cargo test --package rand_isaac --features serde1
21+
# - cargo test --package rand_xorshift --features serde1
22+
1823
- rust: stable
24+
env: DESCRIPTION="stable Rust release, macOS"
1925
os: osx
2026
install:
2127
script:
22-
- cargo test --tests --no-default-features
28+
- cargo test --lib --no-default-features
29+
- cargo test --features=serde1,log
30+
- cargo test --examples
31+
- cargo test --package rand_core
2332
- cargo test --package rand_core --no-default-features
24-
- cargo test --features serde1,log
33+
- cargo test --package rand_isaac --features serde1
34+
# - cargo test --package rand_xorshift --features serde1
35+
2536
- rust: beta
37+
env: DESCRIPTION="beta Rust release"
2638
install:
2739
script:
28-
- cargo test --tests --no-default-features
40+
- cargo test --lib --no-default-features
41+
- cargo test --features=serde1,log
42+
- cargo test --examples
43+
- cargo test --package rand_core
2944
- cargo test --package rand_core --no-default-features
30-
- cargo test --features serde1,log
45+
- cargo test --package rand_isaac --features serde1
46+
# - cargo test --package rand_xorshift --features serde1
47+
3148
- rust: nightly
49+
env: DESCRIPTION="nightly features, benchmarks, documentation"
3250
install:
3351
- cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
3452
before_script:
3553
- pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
3654
script:
37-
- cargo test --tests --no-default-features --features=alloc
38-
- cargo test --package rand_core --no-default-features --features=alloc,serde1
39-
- cargo test --features serde1,log,nightly,alloc
40-
- cargo test --all --benches
55+
- cargo test --lib --no-default-features --features alloc
56+
- cargo test --features=serde1,log,nightly
57+
- cargo test --benches --features=nightly
58+
- cargo test --examples
59+
- cargo test --package rand_core
60+
- cargo test --package rand_core --no-default-features --features=alloc
61+
- cargo test --package rand_isaac --features=serde1
62+
- cargo test --package rand_xorshift --features=serde1
4163
# remove cached documentation, otherwise files from previous PRs can get included
4264
- rm -rf target/doc
4365
- cargo doc --no-deps --all --all-features
@@ -46,52 +68,67 @@ matrix:
4668
- travis-cargo --only nightly doc-upload
4769

4870
- rust: nightly
71+
env: DESCRIPTION="WASM via emscripten, stdweb and wasm-bindgen"
4972
install:
5073
- rustup target add wasm32-unknown-unknown
51-
# Use cargo-update since we need a real update-or-install command
52-
# Only install if not already installed:
53-
#- cargo --list | egrep "\binstall-update$" -q || cargo install cargo-update
54-
#- cargo install-update -i cargo-web
55-
# Cargo has errors with sub-commands so ignore updating for now:
74+
- rustup target add wasm32-unknown-emscripten
75+
# cargo-web takes ±10 min. to install, and cargo and cargo-update offer
76+
# no reliable update-or-install command. We ignore updating for now
77+
# (just drop the Travis' caches when necessary)
5678
- cargo --list | egrep "^\s*web$" -q || cargo install cargo-web
79+
addons:
80+
chrome: stable
5781
script:
58-
- cargo web test --target wasm32-unknown-unknown --nodejs --features=stdweb
59-
60-
- rust: nightly
61-
install:
62-
- rustup target add wasm32-unknown-unknown
63-
script:
64-
- cargo build --target wasm32-unknown-unknown --features wasm-bindgen
82+
- cargo build --target wasm32-unknown-emscripten
83+
- cargo web test --target wasm32-unknown-unknown --features=stdweb
84+
- cargo web test --nodejs --target wasm32-unknown-unknown --features=stdweb
85+
- cargo build --target wasm32-unknown-unknown --features=wasm-bindgen
6586

6687
- rust: nightly
88+
env: DESCRIPTION="cross-platform builder (doesn't run tests)"
6789
install:
68-
- rustup target add thumbv6m-none-eabi
90+
- rustup target add aarch64-apple-ios \
91+
# armv7-linux-androideabi \
92+
wasm32-unknown-emscripten \
93+
x86_64-sun-solaris \
94+
x86_64-unknown-cloudabi \
95+
x86_64-unknown-freebsd \
96+
x86_64-unknown-fuchsia \
97+
x86_64-unknown-redox \
98+
x86_64-unknown-netbsd
6999
script:
70-
# Bare metal target; no std; only works on nightly
71-
- cargo build --no-default-features --target thumbv6m-none-eabi --release
100+
- cargo build --target=aarch64-apple-ios
101+
# - cargo build --target=armv7-linux-androideabi
102+
- cargo build --target=wasm32-unknown-emscripten
103+
- cargo build --target=x86_64-sun-solaris
104+
- cargo build --target=x86_64-unknown-cloudabi
105+
- cargo build --target=x86_64-unknown-freebsd
106+
- cargo build --target=x86_64-unknown-fuchsia
107+
- cargo build --target=x86_64-unknown-redox
108+
- cargo build --target=x86_64-unknown-netbsd
72109

73110
# Trust cross-built/emulated targets. We must repeat all non-default values.
74111
- rust: stable
75112
sudo: required
76113
dist: trusty
77114
services: docker
78-
env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1
115+
env: DESCRIPTION="big-endian" TARGET=mips-unknown-linux-gnu
79116
- rust: stable
80117
sudo: required
81118
dist: trusty
82119
services: docker
83-
env: TARGET=mips-unknown-linux-gnu
120+
env: TARGET=x86_64-unknown-freebsd
84121
- rust: stable
85122
sudo: required
86123
dist: trusty
87124
services: docker
88-
env: TARGET=armv7-linux-androideabi DISABLE_TESTS=1
125+
env: TARGET=armv7-linux-androideabi
89126
- rust: stable
90127
os: osx
91128
sudo: required
92129
dist: trusty
93130
services: docker
94-
env: TARGET=armv7-apple-ios DISABLE_TESTS=1
131+
env: TARGET=armv7-apple-ios
95132

96133
before_install:
97134
- set -e

0 commit comments

Comments
 (0)