Skip to content

(MOT-4299) fix(ci): unbreak cold registry-lane harness e2e builds - #739

Merged
ytallo merged 2 commits into
mainfrom
fix/mot-4299-harness-e2e-cold-cache
Aug 7, 2026
Merged

ytallo merged 2 commits into
mainfrom
fix/mot-4299-harness-e2e-cold-cache

Conversation

@ytallo

@ytallo ytallo commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Today's daily (run 31153706659) failed "Test E2E crate" — reproducibly, including on re-run. Two defects compounded:

  1. harness/build.rs needs pnpm, but registry mode never sets it up. Since (MOT-4327) feat(harness): live context accounting with a console chip #686 embedded the console UI, compiling harness from scratch runs the UI build. Test E2E crate / Lint E2E crate compile harness (dep of harness-e2e) in every stack mode, but Setup pnpm/Setup Node were gated to stack_mode == 'source'pnpm not found on PATH panic on the first cold registry-lane build after (MOT-4327) feat(harness): live context accounting with a console chip #686. Fixed by making both steps unconditional.

  2. The plain harness-e2e cache key was never saved. save-if: ${{ inputs.coverage }} meant only coverage runs saved, and since (MOT-4299) fix(ci): run daily Harness benchmarks against Registry #735 moved the daily to coverage: false, every registry-lane build compiled and downloaded everything from scratch (which is what exposed defect 1). Fixed with save-if: true.

The e2e crate itself is healthy: 91/91 tests pass warm and cold on stable 1.97.1 (with pnpm on PATH). _harness-integration.yml is not affected — harness-integration has no path dep on harness.

After merge, the next scheduled daily (or a workflow_dispatch) picks this up.

Since the daily lane moved to coverage: false, save-if driven by the
coverage input meant no run ever wrote the plain harness-e2e key, so
every registry-lane build job compiled and downloaded from scratch.
Save both keys so daily and deployed builds restore a warm cache.
@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
workers Ready Ready Preview Aug 7, 2026 11:11am
workers-tech-spec Ready Ready Preview Aug 7, 2026 11:11am

Request Review

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 55 skipped (no docs/).

Layer Result
structure
vale
ai
render

Four for four. Nicely done.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@ytallo, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 53 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6d0aa8c1-26ee-4e29-afbf-6d827cac25c4

📥 Commits

Reviewing files that changed from the base of the PR and between cb4b6ca and be6a71b.

📒 Files selected for processing (1)
  • .github/workflows/_harness-e2e.yml
📝 Walkthrough

Walkthrough

The workflow now saves the selected Rust cache key for both coverage and regular builds. The cache save condition is no longer limited to coverage runs.

Changes

Rust cache workflow

Layer / File(s) Summary
Save Rust caches for all builds
.github/workflows/_harness-e2e.yml
The Rust cache step now saves the selected cache key for coverage and regular builds.

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

Possibly related PRs

Suggested labels: no-ticket

Suggested reviewers: andersonleal

Poem

A rabbit found caches tucked under the hay,
For coverage and builds, they now save away.
No key left behind,
Swift workflows unwind—
Hop, hop, and speed through the day!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the CI cache fix that prevents cold registry-lane harness e2e builds.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/mot-4299-harness-e2e-cold-cache

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ytallo ytallo changed the title fix(ci): save the plain harness-e2e rust cache (MOT-4299) fix(ci): save the plain harness-e2e rust cache Aug 7, 2026
Since #686 embedded the harness console UI, harness/build.rs needs pnpm
whenever the crate compiles from scratch. The Test/Lint E2E crate steps
compile harness in every stack mode, but Setup pnpm/Node were gated to
source mode, so the first cold registry-lane build (today's daily)
panicked with 'pnpm not found on PATH'.
@ytallo ytallo changed the title (MOT-4299) fix(ci): save the plain harness-e2e rust cache (MOT-4299) fix(ci): unbreak cold registry-lane harness e2e builds Aug 7, 2026
@ytallo
ytallo merged commit fc24e3c into main Aug 7, 2026
18 checks passed
@ytallo
ytallo deleted the fix/mot-4299-harness-e2e-cold-cache branch August 7, 2026 11:13
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