Skip to content

ci: stacked PRs stop evicting the shared pnpm cache - #31937

Merged
t3dotgg merged 1 commit into
mainfrom
t3/skip-stacked-pr-cache-saves
Nov 6, 2026
Merged

t3dotgg merged 1 commit into
mainfrom
t3/skip-stacked-pr-cache-saves

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Stacked PRs were evicting the shared CI cache. A PR whose base is not main saves a ~1 GB pnpm store that only its own reruns can read.

Measured from Blacksmith logs and cache inventory:

  • 145 full Linux x64 pnpm stores were saved between two Mac releases. 126 of them came from stacked PRs, 16 from default-base PRs, and 3 from main pushes.
  • 19 stacked PRs held 17.71 GiB of the 24.55 GiB inventory. Those entries used only 2 distinct keys, so most were duplicate copies.
  • Example: this Linux job on a stacked PR restored a fallback store, downloaded 1 package, and then uploaded a 1,001,159,631-byte copy.

Fix: Save pnpm store now runs only when the event is not pull_request, or the PR base is the repo's default branch. Stacked PRs still restore and install as before. Pushes, scheduled, dispatched and called releases, and default-base PRs save as before. The filtered/full-store rule and the lockfile verification cache do not change.

Verification: I evaluated the real if: expressions with @actions/expressions for 15 cases (stacked and default-base PRs, push, schedule, dispatch, hits, misses, filtered installs, and tooling-only installs), 75/75 checks passed. Against origin/main the only differences are the 3 stacked-PR store saves. vp run check:changed passes.

The savings are modeled, not measured yet: if the 126 stacked-PR saves had not happened, ~126 GB less would have been uploaded in that window, and the ~17.7 GiB would have stayed free for shared entries.

Council review

Rounds: 1

Delegate Round 1
Claude Opus 5.5 9/10
Muse Wonder Full 9/10
Codex GPT-6.1 Sol 9.5/10

🤖 Generated with Claude Code using Claude Opus 5.5.

A PR based on a branch other than the default saved a ~1 GB pnpm store
that only its own reruns can read, which evicted shared entries. These
PRs still restore and install; pushes, releases, and default-base PRs
save as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Nov 6, 2026
@macroscopeapp

macroscopeapp Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at c486f0b

Macroscope's review found this PR approvable — Stacked PRs stop uploading pnpm stores while retaining cache restoration and dependency installation. The change is confined to disposable CI caching; default-base PRs and non-PR workflows retain their existing behavior.

You can add or adjust custom eligibility rules. Learn more.

@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 21.5 KiB 21.5 KiB 0 B (0.0%) 24.4 KiB ✅
Codex Live turn messages 1 1 0 (0.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.9 KiB 21.9 KiB 0 B (0.0%) 24.4 KiB ✅
Claude Live turn messages 1 1 0 (0.0%) 8 ✅

Baseline: 86d8838 · PR result: c486f0b · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The pnpm store save step now excludes pull requests targeting non-default branches. Other events and pull requests targeting the default branch remain eligible under the existing conditions.

Changes: pnpm Store Cache

Layer / File(s) Summary
Update store save eligibility
.github/actions/setup-ci-deps/action.yml
The save-step condition excludes pull requests targeting non-default branches. The updated comment describes the behavior and the existing conditions.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Suggested reviewers: yash-singh1

Merge Risk: Minimal · up to c486f

Stacked pull requests no longer save pnpm stores; no merge-blocking risk was identified.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title clearly describes the change to pnpm cache saves for stacked PRs.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The description covers the problem, change, and verification. It is mostly complete, but lacks the required Scope and approval section and an approval link or exemption rationale.
Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 86d8838 and c486f0b.

Files selected for processing: 1

  • .github/actions/setup-ci-deps/action.yml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.

@t3dotgg
t3dotgg merged commit 9899b47 into main Nov 6, 2026
29 checks passed
@t3dotgg
t3dotgg deleted the t3/skip-stacked-pr-cache-saves branch November 6, 2026 10:41
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Nov 6, 2026
**v0.1.8-nightly.20261106.4275** · 12 changes from 6 contributors

**8 bug fixes and performance improvements.**

<details>
<summary>Full changelog</summary>

## What's Changed
* fix(desktop): arm64 macOS builds no longer ship x64-only objc-js binary by @joshuarossi in pingdotgg/t3code#31285
* fix(web): keep task updates static in the timeline by @Yash-Singh1 in pingdotgg/t3code#31888
* fix(devices): keep devices listed when simulator discovery fails by @shivamhwp in pingdotgg/t3code#25971
* fix(web): dragging a sidebar thread no longer scrolls the list to the bottom by @juliusmarminge in pingdotgg/t3code#27691
* fix(web): tagging a thread by drag no longer scrolls the sidebar by @t3dotgg in pingdotgg/t3code#31924
* ci: stacked PRs stop evicting the shared pnpm cache by @t3dotgg in pingdotgg/t3code#31937
* fix(web): remote subagents no longer split from the lineage list by @t3dotgg in pingdotgg/t3code#29285
* perf(ci): release uploads stop recompressing installers and CLI archives by @t3dotgg in pingdotgg/t3code#31942
* feat(antigravity): identify as T3 Code to agy acp 1.5.1+ by @patrick-toulme in pingdotgg/t3code#31158
* ci(release): JS bundle jobs stop building an unused Linux helper by @t3dotgg in pingdotgg/t3code#31941
* feat(marketing): help search engines tell t3.codes apart from copycat sites by @t3dotgg in pingdotgg/t3code#31142
* perf(server): background service launcher uses 75% less memory by @t3dotgg in pingdotgg/t3code#29284

## New Contributors
* @joshuarossi made their first contribution in pingdotgg/t3code#31285
* @patrick-toulme made their first contribution in pingdotgg/t3code#31158

**Full Changelog**: pingdotgg/t3code@v0.1.8-nightly.20261106.4262...v0.1.8-nightly.20261106.4275

</details>


Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.8-nightly.20261106.4275
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant