diff --git a/docs/guide/ci.md b/docs/guide/ci.md index a11a99fa18..916e5abd4c 100644 --- a/docs/guide/ci.md +++ b/docs/guide/ci.md @@ -4,12 +4,12 @@ You can use `voidzero-dev/setup-vp` to use Vite+ in CI environments. ## Overview -For GitHub Actions, the recommended setup is [`voidzero-dev/setup-vp`](https://github.com/voidzero-dev/setup-vp). It installs Vite+, sets up the required Node.js version and package manager, and can cache package installs automatically. - -That means you usually do not need separate `setup-node`, package-manager setup, and manual dependency-cache steps in your workflow. +[`voidzero-dev/setup-vp`](https://github.com/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. ## 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. + ```yaml [.github/workflows/ci.yml] - uses: voidzero-dev/setup-vp@v1 with: @@ -27,6 +27,31 @@ With `cache: true`, `setup-vp` handles dependency caching for you automatically. `setup-vp` caches package-manager data. To reuse Vite Task results across CI runs, add a separate [GitHub Actions cache for Vite Task](/guide/github-actions-cache). ::: +## GitLab CI/CD + +Use the reusable `setup-vp` remote template in your GitLab CI/CD configuration: + +```yaml [.gitlab-ci.yml] +include: + - remote: 'https://raw.githubusercontent.com/voidzero-dev/setup-vp/v1/gitlab/setup-vp.yml' + +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`](https://docs.gitlab.com/ci/yaml/#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](https://github.com/voidzero-dev/setup-vp#gitlab-cicd). + ## 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.