Skip to content

ci: add flaky-test management (#489) - #1

Merged
MichaelTaylor3d merged 2 commits into
mainfrom
ci/flaky-test-management
Jul 12, 2026
Merged

ci: add flaky-test management (#489)#1
MichaelTaylor3d merged 2 commits into
mainfrom
ci/flaky-test-management

Conversation

@MichaelTaylor3d

Copy link
Copy Markdown
Contributor

Summary

  • CI test job: cargo test -> cargo llvm-cov nextest --all-features --workspace --fail-under-lines 80 -- --test-threads=1 --retries 2 (single combined command, coverage preserved + gated >=80%, nextest auto-retries a flaky test up to 2x before failing).
  • Added cargo-nextest install step to ci.yml.
  • Removed the redundant full-suite test job from publish.yml (tag-triggered crates.io publish). PR gates in ci.yml already tested this exact tree (branch protection requires up-to-date-with-main). Re-running it at release time only re-tests green and was the #488 release-blocker (post-merge flake fails publish with no PR-level retry). publish.yml now does build + package + publish only.
  • Bumped Cargo.toml 0.1.0 -> 0.1.1 (patch — CI-only change, no public API/behavior change).

Stack: Rust (Cargo workspace, no package.json). release.yml (changelog+tag) already had no test job — untouched.

Test plan

  • GitHub Actions will validate ci.yml + publish.yml YAML on this PR (workflow syntax checked by GH on push).
  • Not merging per task instructions — human/CI review only.

#489

Co-Authored-By: Claude noreply@anthropic.com

MichaelTaylor3d and others added 2 commits July 12, 2026 14:57
Switch CI from `cargo test` to `cargo llvm-cov nextest` so a flaky test
auto-retries (--retries 2) and surfaces as flaky-pass instead of hard-failing
the PR, while coverage stays gated at >=80% lines through the same combined
command (never split nextest-run and llvm-cov into separate steps - that
collects zero coverage).

Also drop the redundant full test-suite re-run from publish.yml (tag-triggered
crates.io publish): the PR gates in ci.yml already tested this exact tree
(branch protection requires up-to-date-with-main), so re-running it at
release time only re-tests a green tree and was the #488 release-blocker
(a flake post-merge fails publish with no PR-gate retry path). Deploy now
does build + package + publish only.

Co-Authored-By: Claude <noreply@anthropic.com>
… args (#489)

cargo llvm-cov nextest treats args after `--` as test-binary args, which
nextest rejects (--test-threads/--retries are nextest run options, not
supported by the test binary), failing every CI run with exit 96.

Co-Authored-By: Claude <noreply@anthropic.com>
@MichaelTaylor3d
MichaelTaylor3d merged commit f8dc0b8 into main Jul 12, 2026
7 checks passed
@MichaelTaylor3d
MichaelTaylor3d deleted the ci/flaky-test-management branch July 12, 2026 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant