Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions .github/workflows/delete-buildjet-cache.yml

This file was deleted.

7 changes: 4 additions & 3 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ name: Nightly Regression
# high-frequency PR loop (ci.yml) depends on. Nightly is a non-blocking
# once-daily job, so it restores where it can but never saves — trading
# a slower nightly for a warm PR loop. Do NOT drop these `save-if:
# false` gates. If nightly build time becomes a problem, move these to a
# separate cache backend (e.g. `cache-provider: buildjet`, as
# pip-release.yml does) rather than saving into the GitHub budget.
# false` gates. If nightly build time becomes a problem, find a cache
# backend outside the GitHub budget rather than saving into it. Note
# that BuildJet — the escape hatch pip-release.yml used to use — is
# shutting down, and rust-cache v2.9.2 removed that provider.
#
# Triggers:
# - schedule: daily at 06:00 UTC
Expand Down
27 changes: 21 additions & 6 deletions .github/workflows/pip-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,25 @@ jobs:
python-version: ${{ env.PYTHON_VERSION }}
- run: rustup default ${{ env.RUST_VERSION }}
- run: rustup update ${{ env.RUST_VERSION }}
- uses: Swatinem/rust-cache@v2
with:
cache-provider: buildjet
# only save caches for `main` branch
save-if: ${{ github.ref == 'refs/heads/main' }}
# No rust-cache step here, deliberately. This job used to run
# `Swatinem/rust-cache@v2` with `cache-provider: buildjet`, which
# kept these cross-builds off the 10 GB GitHub cache budget.
# BuildJet is shutting down its GitHub Actions service, so
# rust-cache v2.9.2 dropped the provider and the step started
# erroring out ("The `cache-provider` `buildjet` is not valid").
#
# It is not worth re-pointing at `cache-provider: github`:
# - rust-cache does not put the matrix in the cache key, and the
# workspace has a single Cargo.lock, so all 8 expansions of
# this job shared ONE ~2.25 GB entry. That blob is polluted
# across 4 target triples and 2 crates — whichever expansion
# wins the save race populates it for everyone else.
# - Measured accordingly: job durations are identical with the
# cache warm and with it removed entirely (12-19 min either
# way). It was buying ~0.
# - 2.25 GB is ~23% of the repo-wide budget, which already runs
# at ~9.7/10 GB. Saving it would LRU-evict the ci.yml
# workspace/e2e caches that the PR loop actually depends on.
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
Expand All @@ -87,7 +101,8 @@ jobs:
# object, flooding the 10 GB repo-wide cache with thousands of
# micro-entries that evict the workspace caches PR CI relies on.
# These release cross-builds don't help the PR loop, so keep it
# off. rust-cache above already caches deps (via BuildJet).
# off. See the note above for why there is no rust-cache
# step to fall back on either.
sccache: "false"
working-directory: ${{ matrix.repository.path }}
before-script-linux: |
Expand Down