Skip to content

ci(engine): harden against transient crates.io download flakes#932

Merged
hugocorreia90 merged 1 commit into
mainfrom
ci/harden-cargo-registry-retry
Jun 19, 2026
Merged

ci(engine): harden against transient crates.io download flakes#932
hugocorreia90 merged 1 commit into
mainfrom
ci/harden-cargo-registry-retry

Conversation

@hugocorreia90

Copy link
Copy Markdown
Contributor

Problem

engine-ci (and the cargo-running jobs generally) intermittently fail during dependency fetch:

error: failed to get `recursive` as a dependency of package `sqlparser v0.62.0`
  ...
Caused by: [16] Error in the HTTP2 framing layer

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-ci workflow:

  • 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

…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.
@hugocorreia90 hugocorreia90 merged commit 1789ef5 into main Jun 19, 2026
12 checks passed
@hugocorreia90 hugocorreia90 deleted the ci/harden-cargo-registry-retry branch June 19, 2026 16: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