-
Notifications
You must be signed in to change notification settings - Fork 58
/
.travis.yml
124 lines (112 loc) 路 3.53 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
language: rust
sudo: false
before_install:
- target=x86_64-unknown-linux-musl
- curl -L https://github.com/mozilla/sccache/releases/download/0.2.7/sccache-0.2.7-$target.tar.gz | tar xzf -
- export PATH=$PATH:`pwd`/sccache-0.2.7-$target
- export RUSTC_WRAPPER=sccache
before_script:
- export RUST_BACKTRACE=1
after_script:
- sccache -s
install:
# Build WABT
- git clone --recursive https://github.com/WebAssembly/wabt.git
- mkdir wabt/build
- cd wabt/build
- cmake .. -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
- make -j 8
- cd -
- export PATH=$PATH:$(pwd)/wabt/build
- which wasm2wat
- which wat2wasm
# Build binaryen
- git clone --recursive https://github.com/WebAssembly/binaryen.git
- mkdir binaryen/build
- cd binaryen/build
- cmake .. -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
- make -j 8
- cd -
- export PATH=$PATH:$(pwd)/binaryen/build/bin
- which wasm-opt
matrix:
include:
# First up: some jobs to run our fuzzers a bit longer than the default when
# we do `cargo test`.
#
# We run these first because they take the longest.
- name: "fuzz-utils (stable)"
rust: stable
env:
# 300 seconds = 5 minutes.
- WALRUS_FUZZ_TIMEOUT=300
script:
|
# When the fuzzing fails, the logs are too big for Travis, so just
# show the relevant tail portion of the log.
cargo test -p walrus-fuzz-utils > fuzz.log || {
tail -n 1000 fuzz.log && exit 1
}
- name: "cargo fuzz run watgen (nightly)"
rust: nightly
script:
|
which cargo-fuzz || cargo install cargo-fuzz
# When the fuzzing fails, the logs are too big for Travis, so just
# show the relevant tail portion of the log.
cargo fuzz run watgen -- -max_total_time=300 > fuzz.log 2>&1 || {
tail -n 1000 fuzz.log && exit 1
}
- name: "cargo fuzz run wasm-opt-ttf (nightly)"
rust: nightly
script:
|
which cargo-fuzz || cargo install cargo-fuzz
(for (( ; ; )); do
tail -n 100 fuzz.log || true
sleep 10
done) &
# When the fuzzing fails, the logs are too big for Travis, so just
# show the relevant tail portion of the log.
cargo fuzz run wasm-opt-ttf -- -max_total_time=300 > fuzz.log 2>&1 || {
tail -n 1000 fuzz.log && exit 1
}
- name: "cargo fuzz run raw (nightly)"
rust: nightly
script:
|
which cargo-fuzz || cargo install cargo-fuzz
# When the fuzzing fails, the logs are too big for Travis, so just
# show the relevant tail portion of the log.
cargo fuzz run raw -- -max_total_time=300 > fuzz.log 2>&1 || {
tail -n 1000 fuzz.log && exit 1
}
- name: "test (stable)"
rust: stable
- name: "test (beta)"
rust: beta
- name: "test (nightly)"
rust: nightly
- name: "check benches"
rust: stable
script:
- cargo check --benches
- name: "master doc to gh-pages"
rust: nightly
install: true
script:
- cargo doc --no-deps
deploy:
provider: script
script: curl -LsSf https://git.io/fhJ8n | rustc - && (cd target/doc && ../../rust_out)
skip_cleanup: true
on:
branch: master
script:
- cargo build --all
- cargo test --all
- cargo test --features parallel
- cargo test --features parallel --manifest-path crates/tests/Cargo.toml
notifications:
email:
on_success: never