Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion .github/workflows/upgrade-deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,17 @@ jobs:
- Vitest is capped at the latest stable `5.x` release. Keep the exact
version selected by the upgrade script when merging upstream catalogs.
Official Vitest packages must use that version. Do not bypass the cap.
- Rolldown must use the same major.minor release line required by both
the pinned Vite and the installed tsdown. Read their original
`dependencies.rolldown` ranges from `vite/packages/vite/package.json`
and `packages/core/node_modules/tsdown/package.json`; the workspace
override can hide incompatible requirements. Select a published
Rolldown patch version that satisfies both ranges. Patch differences
are allowed; mixing `1.2.x` and `1.3.x` requirements is not.
If the latest releases require different Rolldown minor versions,
defer the incompatible upgrades and keep a compatible combination.
Keep `@tsdown/css` and `@tsdown/exe` at the selected tsdown version.
Do not add compatibility patches or overrides to bypass this rule.
- Sync-remote tool: `pnpm tool sync-remote` (source in
`packages/tools/src/sync-remote-deps.ts`) — clones rolldown/vite into the
working tree, imports only their build roots and bundled packages,
Expand All @@ -157,7 +168,13 @@ jobs:
- build-upstream action: ${{ steps.build-upstream.outcome }}

### Fixups to perform (in order)
1. If the `Upgrade dependencies and sync upstream` outcome above is `failure`,
1. Check the Rolldown compatibility policy even if the earlier steps succeeded.
Run `node packages/tools/src/check-rolldown-compat.ts` to check the
pinned version against the original Vite and tsdown requirements.
Correct incompatible version selections before other fixes. Keep the
upstream branch and commit, catalog, lockfiles, bundled versions,
and upgrade metadata consistent with the selected versions.
If the `Upgrade dependencies and sync upstream` outcome above is `failure`,
fix it FIRST — nothing else will work until the merged workspace is correct.
Read the failed command in the upgrade log and re-run it. Resolve
catalog conflicts against the pinned Rolldown and Vite sources.
Expand All @@ -167,6 +184,9 @@ jobs:
upgrade operations: `pnpm dedupe`,
`node .github/scripts/upgrade-deps.ts --sync-bundled-deps`, then
`pnpm install --no-frozen-lockfile` before building or testing.
Check the original Vite and tsdown Rolldown requirements again after
synchronization and deduplication; successful installation is not proof
of compatibility because Rolldown resolves through a workspace override.
2. Reuse successful outputs from `./.github/actions/build-upstream/action.yml`.
If the action failed, fix the failure and complete its remaining build commands.
Rebuild affected packages after source or dependency changes. Preserve the
Expand Down Expand Up @@ -305,6 +325,7 @@ jobs:
RELEASE_BUILD: 'true'
run: |
set -euo pipefail
node packages/tools/src/check-rolldown-compat.ts
pnpm bootstrap-cli
export PATH="$HOME/.vite-plus/bin:$PATH"
pnpm test:unit
Expand Down
76 changes: 38 additions & 38 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ jsonschema = { version = "0.60.0", default-features = false }
junction = "2.0.0"
libtest-mimic = "0.8.2"
memchr = "2.8.2"
mimalloc-safe = "0.1.64"
mimalloc-safe = "0.1.70"
mime = "0.3.17"
napi = { version = "3.12.2", default-features = false, features = [
"async",
Expand Down
Loading
Loading