use nextest per-test retries for network-sensitive tests#140
Draft
PaulLaux wants to merge 3 commits into
Draft
Conversation
…tests Replace the split cargo-test steps and workflow-level retry loop with a single 'cargo nextest run' using a new ci-basic profile: - network-sensitive tests (zebra-network lib, zebrad acceptance) run serially via a test group and get per-test retries (3 attempts, 30s pause, matching the old loop) - everything else runs in parallel with no retries, so deterministic failures fail fast instead of re-running a whole test group - non-network tests in those targets no longer run twice - doctests run in a separate step (nextest does not run them) cargo-nextest is installed via taiki-e/install-action pinned by SHA, consistent with the existing checkout hardening.
…limits Log analysis of the first nextest run showed the serial 'network' group was the entire critical path (~34 of 35 test minutes, with all parallel tests done by minute 5), and every run downloads 594 crates and builds cold. - only serialize/retry tests that actually touch the network: the zebra-network socket tests live in peer_set::initialize and isolated (35 tests, 5.1 min); the other 140 lib tests (10.5 min) are in-process and now run in parallel without retries - cache cargo registry and build artifacts (Swatinem/rust-cache, pinned, keyed per nu7 matrix leg) - terminate hung tests after 10 min so they are named and retried instead of the step-level timeout killing the whole run - keep going up to 5 failures so one red run reports all of them - list skipped tests in the final summary for visibility
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace the split cargo-test steps and workflow-level retry loop with a single 'cargo nextest run' using a new ci-basic profile:
cargo-nextest is installed via taiki-e/install-action pinned by SHA, consistent with the existing checkout hardening.