Skip to content

ci(create): warm up the monorepo cache check under every package manager - #3423

Open
wan9chi wants to merge 2 commits into
mainfrom
claude/vite-plus-ci-failure-c6c672
Open

wan9chi wants to merge 2 commits into
mainfrom
claude/vite-plus-ci-failure-c6c672

Conversation

@wan9chi

@wan9chi wan9chi commented Nov 10, 2026

Copy link
Copy Markdown
Member

Summary

vp create monorepo (pnpm) and vp create monorepo (bun) have failed on every run since #3418 bumped vite-task to cb1ea8d. The "Verify cache (monorepo only)" step expects 100% cache hits on the second vp run ready but gets 40%:

[1] test-project#ready: $ vp check   → Cache miss: 'dist' added in 'packages/utils'
[2] utils#test: vp test              → Cache miss: 'dist' added in 'packages/utils'
[4] website#build: tsc               → Cache miss: 'dist' added in 'apps/website'

vite-task no longer skips dist entries in folder listings (voidzero-dev/vite-task#919). ready runs vp check && vp run -r test && vp run -r build, so vp check, vp test, and tsc list these folders before vp pack and vp build create dist/ there. The second run then sees the new entry and misses. The third run hits.

npm and yarn already got one extra warm-up for the packages/utils/node_modules/ miss (#1638), so they kept passing. This PR gives pnpm and bun the same warm-up and rewrites the step's comment to describe both causes.

#3418 didn't catch this because these jobs only run when create, template, or workflow files change.

Not included

This only fixes CI. A freshly created monorepo still needs three vp run ready runs to be fully cached. Fixing that is a separate change:

  • vp check, vp lint, vp fmt: oxlint and oxfmt skip gitignored folders, so the built-in cache config could add folder-entry exclusions for gitignored entries (!**/dist, !**/node_modules). !**/dist/** would be wrong: type-aware checks read other packages' dist/*.d.ts.
  • vp test: Vitest 5 doesn't read .gitignore and its default exclude doesn't cover dist, so it does search dist for test files.
  • tsc in the website's build script: a third-party command, so only per-package config can exclude dist.

Test plan

  • vp create monorepo passes for pnpm, npm, yarn, and bun

🤖 Generated with Claude Code

Since vite-task cb1ea8d (#3418), folder listings no longer skip `dist`
entries (voidzero-dev/vite-task#919). In the monorepo template,
`vp check`, `vp test`, and `tsc` list `packages/utils/` and
`apps/website/` before `vp pack` and `vp build` create `dist/` there,
so the second `vp run ready` misses under every package manager and
`vp create monorepo (pnpm)` and `(bun)` fail on every run.

npm and yarn already ran one extra warm-up for the
`packages/utils/node_modules/` miss (#1638), so they reached 100% on
the third run. Give pnpm and bun the same warm-up and describe both
causes in the step's comment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fengmk2 fengmk2 added test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: create-e2e Run `vp create` e2e tests test: sfw labels Nov 10, 2026

wan9chi commented Nov 10, 2026

Copy link
Copy Markdown
Member Author

Merge activity

  • Nov 10, 1:58 PM UTC: The merge label 'auto-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-merge test: create-e2e Run `vp create` e2e tests test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants