forked from rust-lang/futures-rs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
187 lines (164 loc) · 7.97 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
language: rust
sudo: false
# TODO: https://github.com/rust-lang-nursery/futures-rs/pull/1681#issuecomment-507791279
# cache: cargo
stages:
- name: test
- name: release
if: tag IS present
matrix:
include:
# This is the minimum Rust version supported by futures-rs.
# When updating this, the reminder to update the minimum required version in README.md.
- name: cargo build (minimum required version)
rust: 1.36.0
script:
# default features & compat feature
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo build --all
- cargo build --manifest-path futures/Cargo.toml --features io-compat
- name: cargo +stable build
rust: stable
script:
# default features & compat feature
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo build --all
- cargo build --manifest-path futures/Cargo.toml --features io-compat
- name: cargo +beta build
rust: stable
script:
# default features & compat feature
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo build --all
- cargo build --manifest-path futures/Cargo.toml --features io-compat
# This is the minimum Rust version supported by `async-await` feature.
# When updating this, the reminder to update the minimum required version of `async-await` feature in README.md.
- name: cargo +nightly build (minimum required version)
rust: nightly-2019-05-09
script:
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo build --all --all-features
- name: cargo test
rust: nightly
os: osx
- name: cargo test
rust: nightly
os: linux
- name: cargo build (with minimal versions)
rust: nightly
script:
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo update -Zminimal-versions
- cargo build --all --all-features
- name: cargo clippy
rust: nightly
script:
- if rustup component add clippy-preview;
then
cargo clippy --all --all-features;
else
echo 'Skipping clippy';
fi
- name: cargo bench
rust: nightly
script:
- cargo bench --all
- cargo bench --manifest-path futures-util/Cargo.toml --features=bench
- name: cargo +stable build --no-default-features
rust: stable
script:
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo build --manifest-path futures/Cargo.toml --no-default-features
- cargo build --manifest-path futures-core/Cargo.toml --no-default-features
- cargo build --manifest-path futures-channel/Cargo.toml --no-default-features
- cargo build --manifest-path futures-executor/Cargo.toml --no-default-features
- cargo build --manifest-path futures-io/Cargo.toml --no-default-features
- cargo build --manifest-path futures-sink/Cargo.toml --no-default-features
- cargo build --manifest-path futures-util/Cargo.toml --no-default-features
- name: cargo +stable build (alloc)
rust: stable
script:
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo build --manifest-path futures/Cargo.toml --no-default-features --features alloc
- cargo build --manifest-path futures-core/Cargo.toml --no-default-features --features alloc
- cargo build --manifest-path futures-sink/Cargo.toml --no-default-features --features alloc
- cargo build --manifest-path futures-util/Cargo.toml --no-default-features --features alloc
- name: cargo build --target=thumbv6m-none-eabi
rust: nightly
install:
- rustup target add thumbv6m-none-eabi
script:
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo build --manifest-path futures/Cargo.toml
--target thumbv6m-none-eabi
--no-default-features
--features nightly,cfg-target-has-atomic
- cargo build --manifest-path futures/Cargo.toml
--target thumbv6m-none-eabi
--no-default-features
--features nightly,alloc,cfg-target-has-atomic
- name: cargo build --target=thumbv7m-none-eabi
rust: nightly
install:
- rustup target add thumbv7m-none-eabi
script:
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo build --manifest-path futures/Cargo.toml
--target thumbv7m-none-eabi
--no-default-features
- cargo build --manifest-path futures/Cargo.toml
--target thumbv7m-none-eabi
--no-default-features
--features nightly,alloc
- name: cargo check (futures-util)
rust: nightly
script:
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
- cargo check --manifest-path futures-util/Cargo.toml
- cargo check --manifest-path futures-util/Cargo.toml --all-features
- cargo check --manifest-path futures-util/Cargo.toml --features sink
- cargo check --manifest-path futures-util/Cargo.toml --features io
- cargo check --manifest-path futures-util/Cargo.toml --features channel
- cargo check --manifest-path futures-util/Cargo.toml --features nightly,async-await
- cargo check --manifest-path futures-util/Cargo.toml --features nightly,select-macro
- cargo check --manifest-path futures-util/Cargo.toml --features compat
- cargo check --manifest-path futures-util/Cargo.toml --features io-compat
- cargo check --manifest-path futures-util/Cargo.toml --features sink,compat
- cargo check --manifest-path futures-util/Cargo.toml --features sink,channel
- cargo check --manifest-path futures-util/Cargo.toml --no-default-features
- cargo check --manifest-path futures-util/Cargo.toml --no-default-features --features sink
- cargo check --manifest-path futures-util/Cargo.toml --no-default-features --features alloc,sink
- name: cargo doc
rust: nightly
script:
- RUSTDOCFLAGS=-Dwarnings cargo doc --all --no-deps --all-features
- name: publish docs
stage: release
rust: nightly
before_script:
- echo "machine github.com login $GH_TOKEN password x-oauth-basic" >> ~/.netrc
- chmod 0600 ~/.netrc
- git clone https://github.com/rust-lang-nursery/futures-api-docs
script:
- cargo doc --all --no-deps --all-features
- mv target/doc "futures-api-docs/$TRAVIS_TAG"
- cd futures-api-docs
- |
sed -i'' -e '/<main id="doc-links">/a\
\ <a href="https://rust-lang-nursery.github.io/futures-api-docs/'"$TRAVIS_TAG"'/futures/">\
\ <span>'"$TRAVIS_TAG"'</span>\
\ </a>\
' index.html
- git add "$TRAVIS_TAG" index.html
- git commit -m "Add API docs for $TRAVIS_TAG"
- git push origin master
script:
- cargo test --all --all-features
- cargo test --all --all-features --release
env:
global:
- secure: "iwVcMVIF7ZSY82fK5UyyUvVvJxMSYrbZawh1+4Oi8pvOdYq1gptcDoOC8jxWwCwrNF1b+/85n+jlEUngEqqSmV5PjAbWPjoc+u4Zn7CRi1AlxoUlvHPiQm4vM4Mkkd6GsqoIZttCeedU9m/w0nQ18uUtK8uD6vr2FVdcMnUnkYQAxuGOowGLrwidukzfBXMCu/JrwKMIbt61knAFiI/KJknu0h1mRrhpeF/sQ3tJFzRRcQeFJkbfwDzltMpPo1hq5D3HI4ONjYi/qO2pwUhDk4umfp9cLW9MS8rQvptxJTQmWemHi+f2/U4ld6a0URL6kEuMkt/EbH0A74eFtlicfRs44dX9MlWoqbLypnC3ymqmHcpwcwNA3HmZyg800MTuU+BPK41HIPdO9tPpxjHEiqvNDknH7qs+YBnis0eH7DHJgEjXq651PjW7pm+rnHPwsj+OzKE1YBNxBQZZDkS3VnZJz+O4tVsOzc3IOz0e+lf7VVuI17C9haj117nKp3umC4MVBA0S8RfreFgqpyDeY2zwcqOr0YOlEGGRl0vyWP8Qcxx12kQ7+doLolt6Kxda4uO0hKRmIF6+qki1T+L7v8BOGOtCncz4f7IX48eQ7+Wu0OtglRn45qAa3CxjUuW6xX3KSNH66PCXV0Jtp8Ga2SSevX2wtbbFu9f+9R+PQY4="
- RUSTFLAGS=-Dwarnings
notifications:
email:
on_success: never