Skip to content

Build the cryptography wheel once for all downstream jobs#14976

Closed
alex wants to merge 3 commits into
mainfrom
claude/optimistic-rubin-enmq4
Closed

Build the cryptography wheel once for all downstream jobs#14976
alex wants to merge 3 commits into
mainfrom
claude/optimistic-rubin-enmq4

Conversation

@alex
Copy link
Copy Markdown
Member

@alex alex commented Jun 7, 2026

Every linux-downstream job was independently compiling the same cryptography wheel (~25–60s of Rust compilation each, 11 times per CI run — the verbose logs from #14974 showed the uv pip install . time is ~entirely cargo). Instead, build the wheel once in a dedicated linux-downstream-wheel job and have the downstream jobs install it from an artifact.

There is deliberately no needs: edge between the jobs: the downstream jobs' own setup (checkouts, caches, installing the downstream project's dependencies) overlaps with the wheel build, and they only wait — by polling the run's artifact list — at the point where they previously would have built the wheel themselves. Typical expected wait is a few seconds; the poll has a 5-minute cap so a failed wheel build doesn't hang them for long, and all-green now also needs linux-downstream-wheel so such a failure is surfaced directly.

The upload uses overwrite: true so "re-run all jobs" doesn't conflict with the artifact from the previous attempt (same commit, same wheel). Note the new job gets its own rust-cache key, so the first run on this PR pays one cold build; subsequent runs warm up.

https://claude.ai/code/session_01YUH4HCt55jz7EM16P8rc2K


Generated by Claude Code

claude added 3 commits June 7, 2026 18:12
Every linux-downstream job was independently compiling the same
cryptography wheel (~25-60s of Rust compilation each, 11 times per CI
run). Instead, build the wheel once in a dedicated job and have the
downstream jobs install it from an artifact.

There is deliberately no needs: edge between the jobs: the downstream
jobs' own setup (checkouts, caches, installing the downstream project's
dependencies) overlaps with the wheel build, and they only wait at the
point where they previously would have built the wheel themselves.
@alex alex force-pushed the claude/optimistic-rubin-enmq4 branch from 9668eed to 1ff3f56 Compare June 7, 2026 18:12
@alex alex closed this Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants