Skip to content

Commit d66dc66

Browse files
authored
chore(ci): speed up tests with feature matrix in GitHub Actions (#894)
1 parent 9877ed6 commit d66dc66

1 file changed

Lines changed: 19 additions & 26 deletions

File tree

.github/workflows/ci.yml

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,24 @@ jobs:
6666
tests:
6767
name: Tests
6868
runs-on: ubuntu-latest
69+
strategy:
70+
fail-fast: false
71+
matrix:
72+
feature-set:
73+
- "--all-features"
74+
- "--no-default-features"
75+
- "--no-default-features --features webpki-roots"
76+
- "--features cookies"
77+
- "--features gzip,stream"
78+
- "--features brotli,stream"
79+
- "--features zstd,stream"
80+
- "--features deflate,stream"
81+
- "--features json"
82+
- "--features multipart"
83+
- "--features stream"
84+
- "--features hickory-dns"
6985
steps:
70-
- uses: actions/checkout@v5
86+
- uses: actions/checkout@v4
7187
- uses: actions-rs/toolchain@v1
7288
with:
7389
toolchain: stable
@@ -76,31 +92,8 @@ jobs:
7692
- uses: taiki-e/install-action@v2
7793
with:
7894
tool: cargo-nextest
79-
- name: Tests --all-features
80-
shell: bash
81-
run: cargo nextest run --workspace --all-features
82-
- name: Test --no-default-features
83-
run: cargo nextest run --workspace --no-default-features
84-
- name: Test webpki-roots feature
85-
run: cargo nextest run --workspace --no-default-features --features webpki-roots
86-
- name: Test cookies feature
87-
run: cargo nextest run --workspace --features cookies
88-
- name: Test --features gzip,stream
89-
run: cargo nextest run --workspace --features gzip,stream
90-
- name: Test --features brotli,stream
91-
run: cargo nextest run --workspace --features brotli,stream
92-
- name: Test --features zstd,stream
93-
run: cargo nextest run --workspace --features zstd,stream
94-
- name: Test --features deflate,stream
95-
run: cargo nextest run --workspace --features deflate,stream
96-
- name: Test --features json
97-
run: cargo nextest run --workspace --features json
98-
- name: Test --features multipart
99-
run: cargo nextest run --workspace --features multipart
100-
- name: Test --features stream
101-
run: cargo nextest run --workspace --features stream
102-
- name: Test --features hickory-dns
103-
run: cargo nextest run --workspace --features hickory-dns
95+
- name: Run tests (${{ matrix.feature-set }})
96+
run: cargo nextest run --workspace ${{ matrix.feature-set }}
10497

10598
windows:
10699
name: Windows

0 commit comments

Comments
 (0)