Skip to content

chore: promote staging to staging-promote/158f5f7d-24597161022 (2026-04-18 05:31 UTC)#2615

Open
ironclaw-ci[bot] wants to merge 2 commits intostaging-promote/158f5f7d-24597161022from
staging-promote/b93098d4-24597925921
Open

chore: promote staging to staging-promote/158f5f7d-24597161022 (2026-04-18 05:31 UTC)#2615
ironclaw-ci[bot] wants to merge 2 commits intostaging-promote/158f5f7d-24597161022from
staging-promote/b93098d4-24597925921

Conversation

@ironclaw-ci
Copy link
Copy Markdown
Contributor

@ironclaw-ci ironclaw-ci bot commented Apr 18, 2026

Auto-promotion from staging CI

Batch range: a53eac5c2dec6b6cd5c08189086093fde64aa9cb..b93098d48f6b4aa14449a810ca8f6c64581c28bb
Promotion branch: staging-promote/b93098d4-24597925921
Base: staging-promote/158f5f7d-24597161022
Triggered by: Staging CI batch at 2026-04-18 05:31 UTC

Commits in this batch (101):

Current commits in this promotion (2)

Current base: staging-promote/158f5f7d-24597161022
Current head: staging-promote/b93098d4-24597925921
Current range: origin/staging-promote/158f5f7d-24597161022..origin/staging-promote/b93098d4-24597925921

Auto-updated by staging promotion metadata workflow

Waiting for gates:

  • Tests: pending
  • E2E: pending
  • Claude Code review: pending (will post comments on this PR)

Auto-created by staging-ci workflow

* ci: share rust-cache across clippy matrix legs

The three clippy matrix entries (all-features, default, libsql-only)
each had a distinct cache key, so each leg maintained its own multi-GB
target/ in the GitHub Actions cache. GHA caps repo cache at 10 GB and
evicts LRU, so these three near-duplicates crowd out other useful
entries and forced each leg to re-warm after eviction.

Switch to shared-key: clippy for the Linux matrix and shared-key:
clippy-windows for the Windows matrix. Whichever leg finishes (and
saves) first wins the slot; the other two restore from that cache on
the next run. Because --all-features builds a superset of the artifacts
needed by default / libsql-only, a shared cache is incrementally useful
for every leg even when the saver wasn't all-features.

This is independent of and complementary to #2609 (save-if gating);
together they reduce total cache churn per clippy job to near-zero
wall clock on PR runs after the first main/staging push refreshes the
slot.

* ci(clippy): run only all-features on push

Adds if: github.event_name == 'pull_request' || matrix.name == 'all-features'
to the Linux clippy matrix so push events (main/staging) run only the
all-features leg.

This pins the saver for the new shared-key slot: --all-features builds
a superset of the artifacts needed by default and libsql-only, so when
those PR legs cache-restore they always start from the richest possible
baseline rather than whichever leg happened to win a three-way race.

PRs still run all three legs, so lint coverage is unchanged on the path
that matters (before merge). Push events are only exercised after a PR
has already passed, so the redundant two legs were just warming a cache
anyway.
Swatinem/rust-cache was saving the multi-GB target/ directory at the
end of every CI job — including PR jobs that will never be read from
again by a different PR. The post-cache step was adding 5+ minutes of
wall clock to each Clippy and Tests matrix leg, on top of the actual
compile time.

This change:

- Adds save-if gating to every rust-cache step in code_style.yml and
  test.yml so the cache is only written when github.ref is refs/heads/main
  or refs/heads/staging. PR jobs still restore, they just skip the
  upload.
- Adds push triggers on main and staging to code_style.yml so those
  pushes actually exercise each matrix leg and refresh the cache entry
  that PRs will restore from next. Without this, the cache would never
  be refreshed after the one-time manual warm-up.
- Gates no-panics on pull_request events since it diffs against
  github.event.pull_request.base.sha, which is empty on push events.

Expected impact on PR wall clock: ~5 minutes saved per Clippy / Tests
matrix leg, no change to cache hit rate for subsequent PRs.
@github-actions github-actions bot added scope: ci CI/CD workflows size: S 10-49 changed lines risk: medium Business logic, config, or moderate-risk modules contributor: core 20+ merged PRs labels Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: medium Business logic, config, or moderate-risk modules scope: ci CI/CD workflows size: S 10-49 changed lines staging-promotion

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant