test: make just setup-vite the only entry point that touches vite/#10332
Merged
graphite-app[bot] merged 1 commit intoJul 17, 2026
Conversation
Member
Author
How to use the Graphite Merge QueueAdd the label graphite: merge-when-ready to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
✅ Deploy Preview for rolldown-rs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
h-a-n-a
approved these changes
Jul 17, 2026
Contributor
Merge activity
|
#10332) Fixes the staleness window pointed out in #10325 (comment): `run.ts` called `ensureViteCheckout()`, which can move `vite/` to a new commit, but nothing rebuilds the dev-server side afterwards. `loadVite()` in test-dev-server only checks that `vite/packages/vite/dist` exists, not that it matches the checkout, so a vite-tests run could silently invalidate the dev-server test results. ## Change **`just setup-vite`** **is the only entry point that touches** **`vite/`.** It sets the commit (the latest `rolldown-canary` rebased onto the latest `main`) and finishes the whole setup (install, vite build, rolldown link) in one pass, so the checkout and the built vite dist can never drift apart. **`packages/vite-tests/run.ts`** **does no setup anymore.** It clones the prepared `vite/` checkout locally and goes straight to testing; when the checkout is missing it fails with a "run `just setup-vite` first" hint, like `loadVite()` already does. The `checkout.ts` import and the tsconfig include are reverted. On CI, the vite-test jobs gain a setup-vite step before `run.ts`, like the dev-server workflow already has. ## Verification - Missing checkout: `run.ts` fails with the "run `just setup-vite` first" hint. - Normal path: `run.ts` clones the prepared checkout and proceeds through install, build, and into the test suites. - `ci.yml` parses, both vite-test jobs have the setup step, and `just lint` is fully green. <!-- - What is this PR solving? Write a clear and concise description. - Reference the issues it solves (e.g. `fixes #123`). - What other alternatives have you explored? - Are there any parts you think require more attention from reviewers? Also, please make sure you do the following: - Read the Contributing Guidelines at https://rolldown.rs/contribution-guide/. - Check that there isn't already a PR that solves the problem the same way. If you find a duplicate, please help us review it. - Update the corresponding documentation if needed. - Include relevant tests that fail without this PR but pass with it. If the tests are not included, explain why. Thank you for contributing to Rolldown! -->
graphite-app
Bot
force-pushed
the
07-17-test_make_just_setup-vite_the_only_entry_point_that_touches_vite_
branch
from
July 17, 2026 05:12
e00dbd7 to
9319e69
Compare
graphite-app
Bot
deleted the
07-17-test_make_just_setup-vite_the_only_entry_point_that_touches_vite_
branch
July 17, 2026 05:16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Fixes the staleness window pointed out in #10325 (comment):
run.tscalledensureViteCheckout(), which can movevite/to a new commit, but nothing rebuilds the dev-server side afterwards.loadVite()in test-dev-server only checks thatvite/packages/vite/distexists, not that it matches the checkout, so a vite-tests run could silently invalidate the dev-server test results.Change
just setup-viteis the only entry point that touchesvite/. It sets the commit (the latestrolldown-canaryrebased onto the latestmain) and finishes the whole setup (install, vite build, rolldown link) in one pass, so the checkout and the built vite dist can never drift apart.packages/vite-tests/run.tsdoes no setup anymore. It clones the preparedvite/checkout locally and goes straight to testing; when the checkout is missing it fails with a "runjust setup-vitefirst" hint, likeloadVite()already does. Thecheckout.tsimport and the tsconfig include are reverted.On CI, the vite-test jobs gain a setup-vite step before
run.ts, like the dev-server workflow already has.Verification
run.tsfails with the "runjust setup-vitefirst" hint.run.tsclones the prepared checkout and proceeds through install, build, and into the test suites.ci.ymlparses, both vite-test jobs have the setup step, andjust lintis fully green.