Skip to content

ci: add ecosystem test against vitejs/devtools#23

Merged
antfu merged 2 commits into
mainfrom
antfu/ecosystem-ci
May 22, 2026
Merged

ci: add ecosystem test against vitejs/devtools#23
antfu merged 2 commits into
mainfrom
antfu/ecosystem-ci

Conversation

@antfu
Copy link
Copy Markdown
Contributor

@antfu antfu commented May 22, 2026

Summary

  • New scripts/ecosystem-ci.ts packs the local devframe build, clones vitejs/devtools at its latest released tag (overridable via ECOSYSTEM_DEVTOOLS_REF), patches pnpm.overrides.devframe in the clone to point at the local tarball, then runs pnpm install --no-frozen-lockfile && pnpm build && pnpm test inside it.
  • New .github/workflows/ecosystem-ci.yml runs the script on workflow_dispatch (with an optional ref input) and on a weekly Monday schedule; failures upload downstream logs as artifacts.
  • Wired pnpm test:ecosystem and added .ecosystem/ to .gitignore.

Test plan

  • Run pnpm test:ecosystem locally and confirm vitejs/devtools@<latest> install/build/test succeeds against HEAD.
  • Trigger gh workflow run ecosystem-ci.yml once the workflow lands on main; verify a green run and that the ref input works (e.g. -f ref=v0.2.0).

Pack the local devframe build, clone vitejs/devtools at its latest released
tag, override its devframe dependency via pnpm.overrides, and run the
downstream install/build/test to catch regressions before release.

Triggered manually (with an optional ref input) or on a weekly schedule.
Copilot AI review requested due to automatic review settings May 22, 2026 02:37
@netlify
Copy link
Copy Markdown

netlify Bot commented May 22, 2026

Deploy Preview for devfra ready!

Name Link
🔨 Latest commit cebacc3
🔍 Latest deploy log https://app.netlify.com/projects/devfra/deploys/6a0fc8014cf28a0008e381a2
😎 Deploy Preview https://deploy-preview-23--devfra.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an “ecosystem CI” check to validate devframe against the downstream project vitejs/devtools, helping catch integration regressions early.

Changes:

  • Introduces scripts/ecosystem-ci.ts to pack the local devframe, clone vitejs/devtools, override its devframe dependency to the local tarball, and run downstream install/build/test.
  • Adds a scheduled + manual GitHub Actions workflow to run the ecosystem check and upload downstream logs on failure.
  • Wires a pnpm test:ecosystem script and ignores the generated .ecosystem/ workspace.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.

File Description
scripts/ecosystem-ci.ts Implements the pack/clone/override + downstream install/build/test runner.
.github/workflows/ecosystem-ci.yml Adds scheduled + manual workflow to run the ecosystem CI job and upload artifacts on failure.
package.json Adds test:ecosystem script entrypoint for the new runner.
.gitignore Ignores generated .ecosystem/ workspace directory.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/ecosystem-ci.ts Outdated
if (existsSync(devtoolsDir))
rmSync(devtoolsDir, { recursive: true, force: true })

run('git', ['clone', '--depth', '1', '--branch', ref, REPO_URL, devtoolsDir])
workflow_dispatch:
inputs:
ref:
description: 'vitejs/devtools ref to test against (tag, branch, or commit). Defaults to latest released tag.'
Comment thread scripts/ecosystem-ci.ts Outdated
Comment on lines +110 to +111
throw new Error(
`Command failed (exit ${result.status ?? 'unknown'}): ${cmd} ${args.join(' ')}`,
Switch from `git clone --branch` to `git init` + `git fetch --depth 1` so
the workflow's `ref` input accepts commit SHAs (as the description
already advertises), and include `result.error` / `result.signal` in the
thrown message so spawn failures are diagnosable.

Addresses Copilot review on #23.
@antfu antfu merged commit 9358a77 into main May 22, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants