Background
Before each rolldown release we want early signal on whether a new rolldown breaks the Vite ecosystem (Nuxt, SvelteKit, Astro, Vitest, ...). Today it's manual: open a vitejs/vite PR bumping rolldown to a pkg.pr.new preview, then comment /ecosystem-ci run. We want to automate this from the rolldown side.
Scenarios
- Scheduled
main run — daily cron testing main HEAD against the full ecosystem; also manually dispatchable with an explicit rolldownRef (e.g. pre-release). Additive to Vite's own schedule, which tests the rolldown version Vite pins, not the latest. File: .github/workflows/vite-ecosystem-ci.yml.
- PR comment trigger — comment
/ecosystem-ci run [suite] on a rolldown PR to test that PR's rolldown. Triage+ only; rejects if the PR was pushed after the command. If no preview exists, label trigger: preview to build it, wait, then dispatch; posts the run link back. Mirrors Vite's UX. File: .github/workflows/vite-ecosystem-ci-trigger.yml.
Reference: how Vite does it today
Generate a pkg.pr.new preview of Vite for a PR (auto, or via the trigger: preview label running preview-release.yml) → comment /ecosystem-ci run [suite] → Vite's ecosystem-ci-trigger.yml checks permission, ensures the preview, and dispatches ecosystem-ci-from-pr.yml in vitejs/vite-ecosystem-ci with the PR's repo/branch/commit/suite → that workflow builds Vite and posts a results table back to the PR. On the rolldown side we skip the Vite PR: we publish a rolldown preview and pass its sha as rolldownRef.
Background
Before each rolldown release we want early signal on whether a new rolldown breaks the Vite ecosystem (Nuxt, SvelteKit, Astro, Vitest, ...). Today it's manual: open a
vitejs/vitePR bumping rolldown to apkg.pr.newpreview, then comment/ecosystem-ci run. We want to automate this from the rolldown side.Scenarios
mainrun — daily cron testingmainHEAD against the full ecosystem; also manually dispatchable with an explicitrolldownRef(e.g. pre-release). Additive to Vite's own schedule, which tests the rolldown version Vite pins, not the latest. File:.github/workflows/vite-ecosystem-ci.yml./ecosystem-ci run [suite]on a rolldown PR to test that PR's rolldown. Triage+ only; rejects if the PR was pushed after the command. If no preview exists, labeltrigger: previewto build it, wait, then dispatch; posts the run link back. Mirrors Vite's UX. File:.github/workflows/vite-ecosystem-ci-trigger.yml.Reference: how Vite does it today
Generate a
pkg.pr.newpreview of Vite for a PR (auto, or via thetrigger: previewlabel runningpreview-release.yml) → comment/ecosystem-ci run [suite]→ Vite'secosystem-ci-trigger.ymlchecks permission, ensures the preview, and dispatchesecosystem-ci-from-pr.ymlinvitejs/vite-ecosystem-ciwith the PR's repo/branch/commit/suite → that workflow builds Vite and posts a results table back to the PR. On the rolldown side we skip the Vite PR: we publish a rolldown preview and pass its sha asrolldownRef.