ci(engine): harden against transient crates.io download flakes#932
Merged
Conversation
…istry flakes engine-ci intermittently failed during dependency fetch with '[16] Error in the HTTP2 framing layer' (a transient curl/crates.io HTTP/2 hiccup, unrelated to any code change). Add CARGO_NET_RETRY=10 and CARGO_HTTP_MULTIPLEXING=false to the workflow env so cargo retries the fetch and talks HTTP/1.1, which sidesteps the framing bug. Workflow-wide, so every job (test, clippy, fmt, codegen) is covered.
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.
Problem
engine-ci(and the cargo-running jobs generally) intermittently fail during dependency fetch:This is a transient curl↔crates.io HTTP/2 hiccup on the GitHub runner, not a code or lockfile problem — a re-run clears it. But it fails PRs spuriously and costs a manual re-run each time.
Fix
Add two env vars to the
engine-ciworkflow:CARGO_NET_RETRY: 10— cargo retries a failed registry download instead of aborting the job.CARGO_HTTP_MULTIPLEXING: false— forces HTTP/1.1, which sidesteps the intermittent HTTP/2 framing-layer bug entirely.Workflow-level, so every job (test, clippy, fmt, codegen-drift's cargo step) is covered. No code or dependency changes.
If the same flake shows up in the other cargo workflows (
engine-weekly,engine-release,engine-bench), the same two lines apply there — kept this PR scoped to the gate that actually flaked.🤖 Generated with Claude Code