Skip to content

Commit e35c8af

Browse files
branchseerclaude
andauthored
revert: undo per-crate --test-threads=1 split for musl CI (#289)
## Summary Reverts fa42ef9 ("ci: replace global RUST_TEST_THREADS=1 with per-crate --test-threads=1 (#280)"). The change replaced the simple `RUST_TEST_THREADS=1` env var with `cargo-nextest` installation and split test commands. This actually **regressed** musl CI performance: ### CI Time Comparison (musl job) | | Before (7a8ad8b) | After (fa42ef9) | Delta | |---|---|---|---| | **Test (musl)** | **4m 31s** | **12m 32s** | **+8m 01s (+177%)** | The overhead comes from installing `cargo-nextest` and running two separate `cargo` invocations instead of one. This revert restores the global `RUST_TEST_THREADS=1` approach, bringing the musl CI job back to ~4.5 minutes. ## Test plan - [ ] Verify musl CI job passes - [ ] Verify musl CI job completes in ~4-5 minutes instead of ~12 minutes https://claude.ai/code/session_01LGzZqKECkrqipZfmmU9L3U Co-authored-by: Claude <noreply@anthropic.com>
1 parent b4ba22c commit e35c8af

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ jobs:
149149
# -crt-static: vite-task is shipped as a NAPI module in vite+, and musl Node
150150
# with native modules links to musl libc dynamically, so we must do the same.
151151
RUSTFLAGS: --cfg tokio_unstable -D warnings -C target-feature=-crt-static
152+
# On musl, concurrent PTY operations can trigger SIGSEGV in musl internals.
153+
# Run test threads sequentially to avoid the race.
154+
RUST_TEST_THREADS: 1
152155
steps:
153156
- name: Install Alpine dependencies
154157
shell: sh {0}
@@ -172,14 +175,7 @@ jobs:
172175
corepack enable
173176
pnpm install
174177
175-
# Use cargo-nextest: it runs each test in its own process, avoiding
176-
# musl's fork()-in-multithreaded-process SIGSEGV while keeping parallel
177-
# execution (across processes instead of threads within one process).
178-
# Exclude packages with custom test harnesses (harness = false) since
179-
# nextest can't discover their tests; run those with cargo test instead.
180-
- run: cargo install cargo-nextest --locked
181-
- run: cargo nextest run --workspace --exclude vite_task_bin --exclude vite_task_plan
182-
- run: cargo test -p vite_task_bin -p vite_task_plan
178+
- run: cargo test
183179

184180
fmt:
185181
name: Format and Check Deps

0 commit comments

Comments
 (0)