Naar inhoud springen

pnpm

pnpm CI op GitHub Actions

pnpm-installatie is lokaal snel, maar traag in CI.

65s → 6s
Installeren
3m → 12s
Monorepo-installatie

pnpm-installatie is lokaal snel, maar traag in CI.

Waarom het gebeurt

De pnpm-inhoudsgeadresseerde winkel bevindt zich buiten het project en wordt niet in de cache opgeslagen, dus elk pakket wordt opnieuw gedownload.

Wat te veranderen

  1. Cache het pnpm-winkelpad dat wordt geretourneerd door het pnpm-winkelpad
  2. Installeer met --frozen-lockfile voor reproduceerbaarheid
  3. Gebruik de winkelcache in plaats van node_modules in de cache op te slaan; deze dedupliceert over werkruimten

pnpm op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with: { node-version: 22, cache: pnpm }
- run: pnpm install --frozen-lockfile
- run: pnpm test
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-4vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.