Background
Issue #10 revealed that our CI tests were insufficient — they only verified vp --version after installation, which doesn't exercise critical code paths like vp exec and vp run. The Cannot find module 'which' error on Windows went undetected because no test actually ran commands through vite-plus.
Goal
Design and implement an e2e testing workflow that runs real-world ecosystem repositories against the action on all platforms (ubuntu, macos, windows) to catch regressions before they reach users.
Testing Plan
1. Ecosystem Repository Matrix
Include real repositories that use setup-vp in their CI to validate the full workflow:
| Repository |
Key Commands |
Purpose |
voidzero-dev/vite-plus |
vp install, vp run build, vp run test |
Core toolchain — validates install + build + test |
cloudflare/vinext (or similar) |
vp exec, vp install, vp run |
Real consumer — validates exec path that broke in #10 |
2. Test Scenarios
Each ecosystem repo should be tested with:
3. Workflow Design
- Create a separate
e2e.yml workflow (to avoid slowing down the main test.yml)
- Trigger on
push to main, pull_request, and schedule (e.g., daily) to catch upstream breakage
- Clone ecosystem repos at pinned refs for reproducibility
- Use
fail-fast: false so all platform results are visible even if one fails
4. Example Structure
jobs:
e2e-vite-plus:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: ./
with:
version: latest
cache: false
- uses: actions/checkout@v6
with:
repository: voidzero-dev/vite-plus
path: ecosystem/vite-plus
- name: Install and build
working-directory: ecosystem/vite-plus
run: |
vp install
vp run build
- name: Run tests
working-directory: ecosystem/vite-plus
run: vp run test
Acceptance Criteria
Related
Background
Issue #10 revealed that our CI tests were insufficient — they only verified
vp --versionafter installation, which doesn't exercise critical code paths likevp execandvp run. TheCannot find module 'which'error on Windows went undetected because no test actually ran commands through vite-plus.Goal
Design and implement an e2e testing workflow that runs real-world ecosystem repositories against the action on all platforms (ubuntu, macos, windows) to catch regressions before they reach users.
Testing Plan
1. Ecosystem Repository Matrix
Include real repositories that use
setup-vpin their CI to validate the full workflow:voidzero-dev/vite-plusvp install,vp run build,vp run testcloudflare/vinext(or similar)vp exec,vp install,vp run2. Test Scenarios
Each ecosystem repo should be tested with:
vp exec— the code path that triggered Windows runner failures with latest action version #10vp run— script executionvp install— dependency installationvp env use— Node.js version switching3. Workflow Design
e2e.ymlworkflow (to avoid slowing down the maintest.yml)pushto main,pull_request, andschedule(e.g., daily) to catch upstream breakagefail-fast: falseso all platform results are visible even if one fails4. Example Structure
Acceptance Criteria
vp exec,vp run, andvp installare all exercisedRelated