Skip to content

Continuous Integration

You can use voidzero-dev/setup-vp to use Vite+ in CI environments.

Overview

voidzero-dev/setup-vp provides integrations for GitHub Actions and GitLab CI/CD. Both install Vite+ and can install project dependencies. The GitHub Action can also set up Node.js and cache package manager data automatically, while the GitLab CI/CD template uses the Node.js runtime and cache configuration provided by the job.

setup-vp Versioning

Set <setup-vp-version> in each example to an exact version from the setup-vp releases page. You can use a commit SHA instead. Do not use the v1 tag. The v1 tag no longer receives updates. Renovate and Dependabot can update exact versions.

GitHub Actions

The GitHub Action sets up Vite+, the required Node.js version, and the package manager. This means you usually do not need separate setup-node, package-manager setup, or manual dependency caching steps in your workflow.

.github/workflows/ci.yml
yaml
- uses: voidzero-dev/setup-vp@<setup-vp-version>
  with:
    node-version: '24'
    cache: true
- run: vp install
- run: vp check
- run: vp test
- run: vp build

With cache: true, setup-vp handles dependency caching for you automatically.

TIP

setup-vp caches package-manager data. To reuse Vite Task results across CI runs, add a separate GitHub Actions cache for Vite Task.

GitLab CI/CD

Use the reusable setup-vp remote template in your GitLab CI/CD configuration. Set the remote URL and setup-ref to the same release tag or commit SHA:

.gitlab-ci.yml
yaml
include:
  - remote: 'https://raw.githubusercontent.com/voidzero-dev/setup-vp/<setup-vp-version>/gitlab/setup-vp.yml'
    inputs:
      setup-ref: '<setup-vp-version>'

test:
  extends: .setup-vp
  image: node:24
  script:
    - vp check
    - vp test
    - vp build

The GitLab CI/CD integration differs from the GitHub Action in a few ways:

  • The template does not install Node.js. Use a Node.js image, as shown above, or otherwise provide Node.js in the job.
  • Configure dependency caching with the job's GitLab cache keyword.
  • Use a Unix-like runner environment with Bash and either curl or wget.

For advanced configuration and the complete input reference, see the setup-vp GitLab CI/CD documentation.

Simplifying Existing Workflows

If you are migrating an existing GitHub Actions workflow, you can often replace large blocks of Node, package-manager, and cache setup with a single setup-vp step.

Before:

.github/workflows/ci.yml
yaml
- uses: pnpm/action-setup@v6
  with:
    version: 11

- uses: actions/setup-node@v6
  with:
    node-version: '24'
    cache: pnpm

- run: pnpm ci && pnpm dev:setup
- run: pnpm check
- run: pnpm test

After:

.github/workflows/ci.yml
yaml
- uses: voidzero-dev/setup-vp@<setup-vp-version>
  with:
    node-version: '24'
    cache: true

- run: vp install && vp run dev:setup
- run: vp check
- run: vp test