Skip to content

ci: use voidzero-dev/setup-vp instead of setup-node + pnpm/action-setup#109

Merged
kodiakhq[bot] merged 1 commit intomainfrom
ci/migrate-to-setup-vp
Apr 4, 2026
Merged

ci: use voidzero-dev/setup-vp instead of setup-node + pnpm/action-setup#109
kodiakhq[bot] merged 1 commit intomainfrom
ci/migrate-to-setup-vp

Conversation

@RedStar071
Copy link
Copy Markdown
Member

@RedStar071 RedStar071 commented Apr 4, 2026

What

Replace the two-step setup pattern (`actions/setup-node` + `pnpm/action-setup` + `pnpm install`) with the unified `voidzero-dev/setup-vp` action across all CI workflows.

Why

Simplifies CI setup to a single step with `node-version`, `cache`, and automatic dependency installation via `vp`. Based on npmx-dev/npmx.dev#2145.

Changes

  • continuous-integration.yml: 7 jobs migrated (lint, unit, test, browser, benchmark, a11y, knip)
  • autofix.yml: Replaced 3-step setup with single `setup-vp`
  • release-tag.yml: Replaced `setup-node` + `pnpm/action-setup` with `setup-vp`
  • release-pr.yml: Replaced `setup-node` with `setup-vp`

Key patterns

  • `cache: true` for jobs needing full dependency install (auto-runs `vp install`)
  • `run-install: false` for jobs with partial install (`vp install --filter . --ignore-scripts`)
  • `pnpm vp run/test/exec` -> `vp run/test/exec`
  • Pinned to `v1.6.0` (`8ecb3917`)

Impact

CI-only change. No runtime code changes.

Summary by CodeRabbit

  • Chores
    • Updated CI/CD workflow tooling and infrastructure configurations across automated build and testing pipelines to improve consistency and efficiency.

Replace the two-step setup pattern (actions/setup-node + pnpm/action-setup +
pnpm install) with the unified voidzero-dev/setup-vp action across all CI
workflows. This simplifies setup to a single step with node-version, cache,
and automatic dependency installation via vp.

- Replace all pnpm vp commands with vp directly
- Use cache: true for jobs needing full install
- Use run-install: false for jobs with partial install
- Pin to v1.6.0 (8ecb3917)
Copilot AI review requested due to automatic review settings April 4, 2026 16:04
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 4, 2026

Deploy Preview for wolfstar-rocks-et34281 ready!

Name Link
🔨 Latest commit 38d2554
🔍 Latest deploy log https://app.netlify.com/projects/wolfstar-rocks-et34281/deploys/69d13689cf7d680008004440
😎 Deploy Preview https://deploy-preview-109.wolfstar.rocks
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 82 (no change from production)
Accessibility: 100 (no change from production)
Best Practices: 92 (🔴 down 8 from production)
SEO: 94 (no change from production)
PWA: 90 (no change from production)
View the detailed breakdown and full score reports

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

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 4, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ade8325c-9333-4eca-b4bd-01b0e4fcc3ac

📥 Commits

Reviewing files that changed from the base of the PR and between 87398df and 38d2554.

📒 Files selected for processing (4)
  • .github/workflows/autofix.yml
  • .github/workflows/continuous-integration.yml
  • .github/workflows/release-pr.yml
  • .github/workflows/release-tag.yml

📝 Walkthrough

Walkthrough

GitHub Actions workflows across four files replace Node.js and pnpm setup actions with a consolidated voidzero-dev/setup-vp action. Dependency installation commands transition from explicit pnpm steps to VP CLI equivalents (vp install, vp run, vp exec). Caching is conditionally enabled and install behavior is refined per job requirements.

Changes

Cohort / File(s) Summary
Node.js Setup Consolidation
.github/workflows/autofix.yml, .github/workflows/release-pr.yml, .github/workflows/release-tag.yml
Replaced actions/setup-node + pnpm/action-setup with voidzero-dev/setup-vp. Removed explicit pnpm installation steps and updated commands to use VP CLI for dependency management.
Multi-Job CI Pipeline Migration
.github/workflows/continuous-integration.yml
Replaced setup actions across all CI jobs (lint, unit, test, browser, benchmark, a11y, knip). Added conditional caching and adjusted install behavior with run-install: false for specific jobs. Updated all pnpm commands to VP CLI equivalents throughout.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

contribution-ready

Poem

Our workflows hop with newfound grace,
VP now leads the tooling race,
Where pnpm once held the floor,
One action handles it all—and more! 🐰⚡

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: replacing setup-node + pnpm/action-setup with voidzero-dev/setup-vp across CI workflows, which directly matches the primary objective of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/migrate-to-setup-vp
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch ci/migrate-to-setup-vp

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sentry
Copy link
Copy Markdown

sentry Bot commented Apr 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.03%. Comparing base (87398df) to head (38d2554).
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #109   +/-   ##
=======================================
  Coverage   67.03%   67.03%           
=======================================
  Files          76       76           
  Lines        1878     1878           
  Branches      567      567           
=======================================
  Hits         1259     1259           
  Misses        489      489           
  Partials      130      130           
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 4, 2026

Merging this PR will not alter performance

✅ 44 untouched benchmarks


Comparing ci/migrate-to-setup-vp (38d2554) with main (87398df)

Open in CodSpeed

Copy link
Copy Markdown
Contributor

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

This PR standardizes CI bootstrapping across workflows by replacing the actions/setup-node + pnpm/action-setup + pnpm install pattern with the unified voidzero-dev/setup-vp action, aligning CI with the repo’s vp-based tooling.

Changes:

  • Migrated CI workflow jobs to voidzero-dev/setup-vp (pinned to v1.6.0 / 8ecb3917) for Node setup + caching/install behavior.
  • Updated workflow commands from pnpm ... / pnpm vp ... to vp ... (including install, exec, run, and test invocations).
  • Applied the same setup pattern to release workflows and the autofix workflow (with run-install: false where appropriate).

Reviewed changes

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

File Description
.github/workflows/continuous-integration.yml Migrates all CI jobs to setup-vp, switches job commands to vp equivalents, and uses cache: true where full installs are required.
.github/workflows/autofix.yml Replaces multi-step Node+pnpm setup with setup-vp and runs autofix via vp run lint:fix.
.github/workflows/release-tag.yml Uses setup-vp (no auto-install) and switches dependency installation to vp install for release-note generation.
.github/workflows/release-pr.yml Uses setup-vp (no auto-install) for Node availability during release PR automation steps.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 4, 2026

👋 Thanks for the contribution, @RedStar071!

This PR meets the repository's contribution guidelines — the title follows Conventional Commits format, the description clearly explains the what, why, changes, and impact, and no screenshots or migration files are needed for a CI-only change.

The contribution-ready label has already been applied. A maintainer will review when available. 🚀

Generated by Contribution Guidelines Checker for issue #109 ·

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/contribution-guidelines-checker.md@1f672aef974f4246124860fc532f82fe8a93a57e

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

CI-only simplification — clean and well-structured. ✅

What looks good:

  • All 4 workflow files updated consistently with the same pattern.
  • Action pinned to full commit SHA (8ecb391...) with a # v1.6.0 version comment, matching the repo's existing security practice.
  • cache: true (full auto-install) vs run-install: false (manual partial install) is applied correctly per job — jobs that need everything get cache: true, jobs that do partial/no installs get run-install: false.
  • The vp install step in release-tag.yml correctly retains its if: steps.check.outputs.skip == 'false' guard.
  • pnpm prisma:generatevp run prisma:generate is correct since prisma:generate is a defined package.json script.

CI at review time: Lint ✅ · Unit tests ✅ · Component tests ✅ · Knip ✅ · GitGuardian ✅ · Browser/A11y/Benchmarks ⏳ (in progress, expected duration).

Generated by WolfStar Code Quality Reviewer for issue #109

@kodiakhq kodiakhq Bot merged commit ac2b617 into main Apr 4, 2026
37 checks passed
@kodiakhq kodiakhq Bot deleted the ci/migrate-to-setup-vp branch April 4, 2026 16:09
@coderabbitai coderabbitai Bot mentioned this pull request Apr 4, 2026
13 tasks
@github-actions github-actions Bot mentioned this pull request Apr 5, 2026
RedStar071 added a commit that referenced this pull request Apr 7, 2026
This PR will deploy the following changes to production
(`wolfstar.rocks`).

**Next version: `v0.2.0`** (current: `v0.1.0`)

### Features

- feat(shelve): add initial configuration for Shelve integration
(`1b225d98`)
- feat: add pull request template for improved contribution guidelines
(`e9f0471c`)
- feat(api): add sentry metrics for latency and error tracking (#116)
(`02ccf5ff`)
- feat: add bottom fade effect for clipped content in FeatureCarousel
(#79) (`5a5000ce`)
- feat: add GitHub Actions workflow for automated release PR creation
(`136e9f48`)
- feat: add telemetry service URL for Netlify in Nuxt configuration
(`a50f1b1d`)
- feat: implement createApiComposable for reusable API data fetching and
state management (`2124b5fa`)
- feat: add useCommands and useLanguages composables for improved data
fetching and state management (`a082e97b`)
- feat: add Prisma Client generation step to CI workflow (`28d3348f`)
- feat: add badges for Beta and Dev versions based on environment
(`c6bcaff2`)

### Fixes

- fix(knip): add @shelve/cli to ignoreDependencies for CLI usage
(`ff79dfd6`)
- fix(discord): address code review issues in
computePermissions/isAdmin/getManageable (`8d43c3ed`)
- fix(discord): handle undefined rawPermissions in isAdmin function
(`962e5f02`)
- fix(discord): handle undefined permissions in isAdmin and
computePermissions functions (`532bc087`)
- fix(discord): use OAuth hasManageGuild fallback when
member.permissions absent (`50b058e2`)
- fix(discord): handle undefined permissions field in isAdmin function
(`6ee225ec`)
- fix(.gitignore): remove duplicate entry for .nvmrc (`827e4950`)
- fix(cards): change reload button to navigate to login page
(`6bdfbfb8`)
- fix(api): improve error handling for Discord API calls in discord.ts
(`ce767b74`)
- fix(a11y): reapply default underline to NuxtLink elements in
Events.vue (`8132ebd0`)
- fix(ui): update header structure and improve event descriptions in
guild settings (`760df4fa`)
- fix(ui): improve spatial hierarchy in guild settings components
(`34f933b1`)
- fix(api): add diagnostic warnings in flattenGuild for non-array
properties (`1d19bd1d`)
- fix: clean up health check and add explicit cache keys (#100)
(`d5ad6eb0`)
- fix(api): guard Array.isArray before .map() in flattenGuild to prevent
TypeError (`61503796`)
- fix: use correct command for prisma (`434a16c0`)
- fix: remove @vue-macros/nuxt for fixing error on build (`446859c2`)
- fix: update shouldOgImage type to boolean and modify OG image route
ignore pattern (`5fbdca85`)
- fix(oauth): read guild_id from query params instead of route params
(`8725751c`)
- fix(profile): resolve visual bugs and reduce motion toggle behavior
(`e05e1326`)
- fix(header): remove redundant aria-label from UBadge components
(`ece11d86`)
- fix: exclude _nuxt_icon API from configuration to improve asset
handling (`50c0a805`)
- fix: improve user avatar alt text and loading state handling
(`18b6b84a`)
- fix: update OAuth middleware definition for consistency (`58f60be2`)
- fix: make OAuth middleware function asynchronous (`3891eb0e`)
- fix: improve handling of redirect URLs in OAuth middleware
(`fcf6bfda`)
- fix: readd error to log (`bbe73c59`)
- fix: revert the change to auth required to `false` (`5375da9e`)
- fix(ui): enhance text legibility by updating layout structure in
privacy page (`ab9a544b`)
- fix(csp): add iconify API to connect-src directive (`8b9d11d4`)
- fix: improve OAuth flow error handling and session management
(`417cc237`)
- fix(ui): improve text legibility on terms and privacy pages
(`baf3b054`)
- fix: update badge visibility for preview and canary environments
(`004aedb1`)
- fix: update postinstall script to include vp config (`add18b83`)
- fix: update test:bench script to use vp test for consistency
(`17886de5`)
- fix(api): handle refresh promise rejection in
PermissionNodeManager.run (`1b61d487`)
- fix(api): synchronize guild permission checking with old site behavior
(`5158f0bd`)

### Other Changes

- refactor(workflows): update contribution guidelines checker and PR
code quality configurations (#123) (`fcb21a3b`)
- chore: remove CODEOWNERS file (#122) (`4e2e463c`)
- chore(deps): update dependency std-env to v4 (#92) (`4e8d3b24`)
- refactor: replace fileURLToPath with import.meta.dirname (#120)
(`7904ea02`)
- refactor(config): remove footer configuration from app.config.ts
(`3ccf7886`)
- refactor(commands): normalize design tokens and strip decorative
overload (#117) (`32e5d27d`)
- docs: add design context and guidelines for WolfStar.rocks
(`b25f1d9c`)
- chore: remove obsolete provenance CI workflow (`3356bca8`)
- chore: update .gitignore to include additional agent files and
maintain organization (`19931fd1`)
- refactor: enhance conditional class bindings for build environment
display (`449d6d92`)
- ci: use voidzero-dev/setup-vp instead of setup-node +
pnpm/action-setup (#109) (`ac2b6174`)
- refactor: optimize guild transformation logic and update default
values (`18f445ee`)
- refactor: remove unused Discord component tests from accessibility and
SSR specs (`f8fbfd62`)
- chore: update glob pattern for module entry files in knip config
(`48a018fe`)
- refactor: update contribution guidelines checker and PR code quality
workflow files (`92dde526`)
- refactor: update command parameter types in PermissionNodeManager and
command matchers (`951936a6`)
- chore: remove semantic pull request validation workflow (`4ab48318`)
- ci: add Copilot contribution guidelines checker workflow (#107)
(`1efd1b16`)
- chore: update color enums and refine knip config ignoreMembers
(`845d3289`)
- chore: clean up unused imports and commented code in types.ts
(`9d639d63`)
- ci: add Copilot code quality review workflow (`ec8a94f0`)
- docs: update linter command description in CONTRIBUTING.md
(`6f9a33af`)
- docs: add automatic label sync workflow (`31b75380`)
- chore: add additional ignoreMembers for color values in knip config
(`1c6ee898`)
- chore: consolidate knip config and fix unused code (`ceb40a0e`)
- chore: add .node-version to Vite config ignore list (`91bb909a`)
- docs: update development and code quality instructions in CONTRIBUTING
and copilot-instructions (`d08e2e04`)
- refactor: disable SRI and adjust SSG script hashing in nuxt.config.ts
(`e2b66478`)
- refactor: update package.json scripts and clean up pnpm workspace
configuration (`1d085773`)
- chore: add .node-version file pinned to node 24 (`16933906`)
- docs: remove unsupported onSuccess reference from CONTRIBUTING.md
(`4177bc54`)
- docs: remove unsupported onSuccess from handler options guidance
(`eec99761`)
- docs: revamp contributing guide and simplify copilot instructions
(`5272420f`)
- refactor: update OG image path handling and increase snapshot diff
tolerance (`136df097`)
- refactor: add NUXT_PUBLIC_SITE_URL environment variable for CI jobs
(`38f4d865`)
- refactor: simplify SEO description in Privacy Policy metadata
(`a514341d`)
- refactor: simplify SEO description in Terms of Service metadata
(`4f0df00b`)
- refactor: improve wording in privacy policy link for clarity
(`5fee2495`)
- refactor: update OgImage layout for improved alignment; simplify SEO
description (`1dc84cfb`)
- refactor: enhance OgImage layout and improve styling; add hydration
tests (`e72ab852`)
- refactor: implement og-image alias fix module and update pnpm
workspace for vite-builder patch (`b9d60c54`)
- refactor: add @takumi-rs/wasm to ignored dependencies in Knip
configuration (`3b8dfaae`)
- refactor: update Takumi dependencies to version 1.0.0-beta.20 and
adjust peer dependency rules (`0223ed27`)
- refactor: replace div with OgLayout component for improved structure
(`2375a0f3`)
- refactor: update OG image configuration to enhance security settings
(`ecaf8d17`)
- refactor: enhance OG image snapshot tests with detailed cases and
improved naming (`572f2124`)
- refactor: remove fixture-test-runtime-config and update
@nuxt/test-utils patching in pnpm workspace (`f811722e`)
- refactor: remove alias resolution for site-config in Vite
configuration (`c97307c0`)
- refactor: remove og-image module as part of migration to nuxt-og-image
v6 (`8bc6a133`)
- refactor: migrate nuxt-og-image to v6 and @nuxtjs/seo to v5
(`1f6af1ae`)
- chore(deps): update all non-major dependencies (#88) (`d323a532`)
- chore(renovate): switch to danielroe preset (`47bc2734`)
- refactor: replace AuthState with ClientOnly for improved rendering
logic (`31aceb72`)
- chore: update package overrides and dependencies in
pnpm-workspace.yaml (`53d20d25`)
- refactor(logging): migrate logging from consola to evlog by disabling
Sentry's Consola reporter (`0bc6d3e9`)
- refactor(logging): update payload structure in emit function for
improved logging (`eb4b3c96`)
- refactor(logging): improve error handling in commands and languages
watch (`45749d40`)
- chore(deps): remove unused dependency `consola` (`056662ff`)
- chore(lockfile): downgrade vite plus aliases (`22583f3a`)
- refactor(logging): enhance logging across guild-related components and
pages (`0544bcb6`)
- refactor(logging): migrate client logger from consola to evlog
(`5d05f70c`)
- chore: update skills agent (`6982c8cd`)
- chore: remove Renovate configuration file (`055e5981`)
- refactor(profile): update premium tab visibility and enhance loading
indicator (`0254d85b`)
- refactor: simplify NuxtPage component by removing unnecessary
transition props (`47479196`)
- refactor: simplify token retrieval by consolidating logic in
getCurrentToken function (`0527396b`)
- refactor: enhance SWR-style hydration refresh logic in useLanguages
composable (`a66f3e5a`)
- refactor: replace mockCachedFetch with registerEndpoint for improved
test isolation (`95a5cd69`)
- refactor: remove unused Vue props configuration and API exclusions in
nuxt.config.ts (`fb7c7612`)
- refactor: centralize batch size for guild transformations to improve
rate limit handling (`de064a17`)
- refactor: simplify data handling and improve performance (`714edc65`)
- docs: rewrite copilot instructions in JabRef operational style
(`60c9d0b2`)
- chore: remove GEMINI.md file (`a0d49605`)
- chore: add @playwright/test to the list of ignored dependencies in
Knip configuration (`b3cc0458`)
- chore: add NUXT_SESSION_PASSWORD environment variable for CI jobs
(`40403287`)
- chore: remove unused site configuration mock (`af008693`)
- chore: enable Vite environment API in Nuxt configuration (`cc756897`)
- chore: add back override vite (`04594280`)
- chore: update vite (`1435739c`)
- chore: remove Vite hooks install script for Husky (`28bff2c2`)
- chore: remove husky from dependencies and update prepare script
(`d2d4b388`)
- chore: migrate Husky hooks to Vite hooks and update pre-commit script
(`caa501f6`)
- chore: add pre-commit hook to run vp staged (`57584dec`)
- style: normalize spacing in vue files (`82a45473`)
- chore(deps): update vite-plus to v0.1.13 (`03e92bcb`)
- refactor: remove vitest-environment-nuxt dependency from package.json
(`738ad8b4`)
- refactor: migrate to vite-plus and to vite 8 from old configuration
(`17eecc6d`)

### Uncategorized

- Initial plan (`f40f8e4a`)
- [autofix.ci] apply automated fixes (`abe7a058`)
- [autofix.ci] apply automated fixes (`dd606c3b`)
- [autofix.ci] apply automated fixes (`46fe3d68`)
- Initial plan (`6357c182`)
- [autofix.ci] apply automated fixes (`e8ee404d`)
- [autofix.ci] apply automated fixes (`9a497fd8`)
- [autofix.ci] apply automated fixes (`777b1480`)
- Add renovate.json (`6aef6279`)
- [autofix.ci] apply automated fixes (`de71a2ed`)
- [autofix.ci] apply automated fixes (`ece8fc0d`)
- revert: undo terms and privacy changes from baf3b05 (`e2b3fdc4`)
- Initial plan (`0d5b7fd8`)
- Initial plan (`4350700f`)

---

> Merging this PR will:
> - Deploy to `wolfstar.rocks` via Netlify
> - Create a `v0.2.0` tag and GitHub Release
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