Skip to content

Commit 679b61d

Browse files
.github: workflows: Adopt cargo-nextest and add gstreamer plugins-bad
Switch CI from cargo test to cargo nextest run for parallel test execution with per-test timeout enforcement. Changes to .github/workflows/rust.yml: - Add gstreamer1.0-plugins-bad to apt dependencies (required by some integration test pipelines that use elements from plugins-bad) - Install nextest via taiki-e/install-action@nextest - Replace `cargo test --verbose --locked` with `cargo nextest run --verbose --no-fail-fast --locked` Add .config/nextest.toml with: - 120s slow-timeout with terminate-after=2 (kills hung tests) - A `camera` profile with threads-required=1 override for remote_integration:: tests, which share a single MCM instance on the remote host and must run sequentially (usage: cargo nextest run --profile camera)
1 parent cd46edd commit 679b61d

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

.config/nextest.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[store]
2+
dir = "target/nextest"
3+
4+
[profile.default]
5+
retries = 0
6+
slow-timeout = { period = "120s", terminate-after = 2 }
7+
8+
# Camera-mode remote tests share a single MCM instance on the remote host
9+
# with fixed ports and limited resources. They must run sequentially.
10+
# Usage: cargo nextest run --profile camera
11+
[profile.camera]
12+
[[profile.camera.overrides]]
13+
filter = "test(/^remote_integration::/) & binary(integration)"
14+
threads-required = 1

.github/workflows/rust.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@ jobs:
8686
gstreamer1.0-x \
8787
gstreamer1.0-nice \
8888
gstreamer1.0-libav \
89-
gstreamer1.0-plugins-ugly
89+
gstreamer1.0-plugins-ugly \
90+
gstreamer1.0-plugins-bad
91+
92+
- name: Install nextest
93+
uses: taiki-e/install-action@nextest
9094

9195
- name: Run tests
92-
run: cargo test --verbose --locked
96+
run: cargo nextest run --verbose --no-fail-fast --locked

0 commit comments

Comments
 (0)