Skip to content

Commit 958ca8d

Browse files
committed
test(e2e): add cloudflare/vinext to ecosystem-ci
- Add vinext to repo.json with forceFreshMigration (already uses vite-plus) - Add e2e matrix entry: build, check, test on node 24, ubuntu-only - Update add-ecosystem-ci skill to handle projects already using vite-plus
1 parent e40a158 commit 958ca8d

3 files changed

Lines changed: 25 additions & 3 deletions

File tree

.claude/skills/add-ecosystem-ci/SKILL.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ gh api repos/OWNER/REPO/commits/BRANCH --jq '.sha'
2525

2626
Fetch the repository's root to check if the main package.json is in a subdirectory (like `web/`, `app/`, `frontend/`).
2727

28-
### 2.2 Auto-detect Commands from GitHub Workflows
28+
### 2.2 Check if Project Already Uses Vite-Plus
29+
30+
Check the project's root `package.json` for `vite-plus` in `dependencies` or `devDependencies`. If the project already uses vite-plus, set `forceFreshMigration: true` in `repo.json`. This is required because `patch-project.ts` runs `vp migrate` with locally built tgz overrides — without this flag, `vp migrate` detects "already using Vite+" and skips override injection, so the e2e test wouldn't actually test the locally built packages.
31+
32+
### 2.3 Auto-detect Commands from GitHub Workflows
2933

3034
Fetch the project's GitHub workflow files to detect available commands:
3135

@@ -43,7 +47,7 @@ Look for common patterns in workflow files:
4347
- Commands like: `lint`, `build`, `test`, `type-check`, `typecheck`, `format`, `format:check`
4448
- Map detected commands to `vp` equivalents: `vp run lint`, `vp run build`, etc.
4549

46-
### 2.3 Ask User to Confirm
50+
### 2.4 Ask User to Confirm
4751

4852
Present the auto-detected configuration and ask user to confirm or modify:
4953

@@ -62,7 +66,8 @@ Present the auto-detected configuration and ask user to confirm or modify:
6266
"repository": "https://github.com/owner/repo.git",
6367
"branch": "main",
6468
"hash": "full-commit-sha",
65-
"directory": "web" // only if subdirectory is needed
69+
"directory": "web", // only if subdirectory is needed
70+
"forceFreshMigration": true // only if project already uses vite-plus
6671
}
6772
}
6873
```
@@ -110,4 +115,5 @@ node ecosystem-ci/clone.ts project-name
110115
- The `directory` field is optional - only add it if the package.json is not in the project root
111116
- If `directory` is specified in repo.json, it must also be specified in the workflow matrix
112117
- `patch-project.ts` automatically handles running `vp migrate` in the correct directory
118+
- `forceFreshMigration` is required for projects that already have `vite-plus` in their package.json — it removes the existing dependency before migration so the locally built tgz overrides get injected
113119
- OS exclusions are added to the existing `exclude` section in the workflow matrix

.github/workflows/e2e-test.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,12 @@ jobs:
257257
vp check
258258
vp pack
259259
vp test
260+
- name: vinext
261+
node-version: 24
262+
command: |
263+
vp run build
264+
vp run check
265+
vp run test
260266
exclude:
261267
# frm-stack uses Docker (testcontainers) which doesn't work the same way on Windows
262268
- os: windows-latest
@@ -266,6 +272,10 @@ jobs:
266272
- os: windows-latest
267273
project:
268274
name: dify
275+
# vinext uses workerd native deps that don't build on Windows
276+
- os: windows-latest
277+
project:
278+
name: vinext
269279

270280
steps:
271281
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

ecosystem-ci/repo.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,11 @@
6565
"repository": "https://github.com/kazupon/vp-config.git",
6666
"branch": "main",
6767
"hash": "b58c48d71a17c25dec71a003535e6312791ce2aa"
68+
},
69+
"vinext": {
70+
"repository": "https://github.com/cloudflare/vinext.git",
71+
"branch": "main",
72+
"hash": "f78dd2b39f5b02242417e0a684b1f2f55d3dbdff",
73+
"forceFreshMigration": true
6874
}
6975
}

0 commit comments

Comments
 (0)