Skip to content

Commit a5f2edc

Browse files
committed
Merge branch 'wake' of github.com:ibraheemdev/futures-rs into wake
2 parents a190a7e + 8380003 commit a5f2edc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+2453
-719
lines changed

.github/workflows/ci.yml

+41-22
Original file line numberDiff line numberDiff line change
@@ -19,30 +19,48 @@ defaults:
1919

2020
jobs:
2121
test:
22-
name: cargo +${{ matrix.rust }} test (${{ matrix.os }})
22+
name: cargo test (${{ matrix.os }})
2323
strategy:
24+
fail-fast: false
2425
matrix:
25-
rust:
26-
- nightly
2726
os:
28-
- ubuntu-latest
29-
- macos-latest
30-
- windows-latest
27+
- ubuntu-latest
28+
- macos-latest
29+
- windows-latest
3130
runs-on: ${{ matrix.os }}
3231
steps:
3332
- uses: actions/checkout@v2
3433
- name: Install Rust
3534
# --no-self-update is necessary because the windows environment cannot self-update rustup.exe.
36-
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
35+
run: rustup update nightly --no-self-update && rustup default nightly
3736
- run: cargo test --workspace --all-features
3837
- run: cargo test --workspace --all-features --release
3938

39+
cross:
40+
name: cross test --target ${{ matrix.target }}
41+
strategy:
42+
fail-fast: false
43+
matrix:
44+
target:
45+
- i686-unknown-linux-gnu
46+
- aarch64-unknown-linux-gnu
47+
runs-on: ubuntu-latest
48+
steps:
49+
- uses: actions/checkout@v2
50+
- name: Install Rust
51+
run: rustup update nightly && rustup default nightly
52+
- run: cargo install cross
53+
- run: cross test --target ${{ matrix.target }} --workspace --all-features
54+
- run: cross test --target ${{ matrix.target }} --workspace --all-features --release
55+
# TODO: https://github.com/rust-lang/futures-rs/issues/2451
56+
if: matrix.target != 'aarch64-unknown-linux-gnu'
57+
4058
core-msrv:
41-
name: cargo +${{ matrix.rust }} build (futures-{core, io, sink, task, channel})
59+
name: cargo +${{ matrix.rust }} build (futures-{core, io, sink, task})
4260
strategy:
4361
matrix:
4462
rust:
45-
# This is the minimum Rust version supported by futures-core, futures-io, futures-sink, futures-task, futures-channel.
63+
# This is the minimum Rust version supported by futures-core, futures-io, futures-sink, futures-task.
4664
# When updating this, the reminder to update the minimum required version in .clippy.toml.
4765
- 1.36.0
4866
runs-on: ubuntu-latest
@@ -58,22 +76,22 @@ jobs:
5876
# Check no-default-features
5977
- run: |
6078
cargo hack build --workspace --ignore-private --no-default-features \
61-
--exclude futures --exclude futures-util --exclude futures-macro --exclude futures-executor --exclude futures-test
79+
--exclude futures --exclude futures-util --exclude futures-macro --exclude futures-executor --exclude futures-channel --exclude futures-test
6280
# Check alloc feature
6381
- run: |
6482
cargo hack build --workspace --ignore-private --no-default-features --features alloc --ignore-unknown-features \
65-
--exclude futures --exclude futures-util --exclude futures-macro --exclude futures-executor --exclude futures-test
83+
--exclude futures --exclude futures-util --exclude futures-macro --exclude futures-executor --exclude futures-channel --exclude futures-test
6684
# Check std feature
6785
- run: |
6886
cargo hack build --workspace --ignore-private --no-default-features --features std \
69-
--exclude futures --exclude futures-util --exclude futures-macro --exclude futures-executor --exclude futures-test
87+
--exclude futures --exclude futures-util --exclude futures-macro --exclude futures-executor --exclude futures-channel --exclude futures-test
7088
7189
util-msrv:
7290
name: cargo +${{ matrix.rust }} build
7391
strategy:
7492
matrix:
7593
rust:
76-
# This is the minimum Rust version supported by futures, futures-util, futures-macro, futures-executor, futures-test.
94+
# This is the minimum Rust version supported by futures, futures-util, futures-macro, futures-executor, futures-channel, futures-test.
7795
# When updating this, the reminder to update the minimum required version in README.md.
7896
- 1.41.0
7997
runs-on: ubuntu-latest
@@ -100,6 +118,7 @@ jobs:
100118
build:
101119
name: cargo +${{ matrix.rust }} build
102120
strategy:
121+
fail-fast: false
103122
matrix:
104123
rust:
105124
- stable
@@ -130,10 +149,13 @@ jobs:
130149
no-std:
131150
name: cargo build --target ${{ matrix.target }}
132151
strategy:
152+
fail-fast: false
133153
matrix:
154+
# thumbv7m-none-eabi supports atomic CAS.
155+
# thumbv6m-none-eabi supports atomic, but not atomic CAS.
134156
target:
135-
- thumbv6m-none-eabi
136157
- thumbv7m-none-eabi
158+
- thumbv6m-none-eabi
137159
runs-on: ubuntu-latest
138160
steps:
139161
- uses: actions/checkout@v2
@@ -210,6 +232,7 @@ jobs:
210232
san:
211233
name: cargo test -Z sanitizer=${{ matrix.sanitizer }}
212234
strategy:
235+
fail-fast: false
213236
matrix:
214237
sanitizer:
215238
- address
@@ -233,21 +256,17 @@ jobs:
233256
runs-on: ubuntu-latest
234257
steps:
235258
- uses: actions/checkout@v2
236-
- name: Install Rust and Clippy
237-
run: |
238-
toolchain=nightly-$(curl -sSf https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/clippy)
239-
rustup set profile minimal
240-
rustup default "$toolchain"
241-
rustup component add clippy
259+
- name: Install Rust
260+
run: rustup toolchain install nightly --component clippy && rustup default nightly
242261
- run: cargo clippy --workspace --all-features --all-targets
243262

244263
fmt:
245264
runs-on: ubuntu-latest
246265
steps:
247266
- uses: actions/checkout@v2
248267
- name: Install Rust
249-
run: rustup update stable && rustup default stable
250-
- run: tools/fmt.sh
268+
run: rustup update stable
269+
- run: cargo fmt --all -- --check
251270

252271
docs:
253272
name: cargo doc

0 commit comments

Comments
 (0)