Naar inhoud springen

grap

Jest CI op GitHub Actions

Jest transformeert elk bestand bij elke run en gebruikt één worker in CI.

Jaren 90 → 8s
Transformeer de tijd
14m → 3m
Testsuite

Jest transformeert elk bestand bij elke run en gebruikt één worker in CI.

Waarom het gebeurt

De Jest-transformatiecache wordt niet gehandhaafd en de standaardwaarden van --ci zijn conservatief wat betreft werkrollen.

Wat te veranderen

  1. Cache de Jest-cachemap ingetoetst op het lockfile en config
  2. Stel --maxWorkers in op het kernaantal in plaats van de standaardwaarde te accepteren
  3. Gebruik --shard over een matrix voor suites van meer dan tien minuten
  4. Schakel de transformator over naar SWC of esbuild - Babel is meestal het knelpunt

Scherts op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npx jest --ci --maxWorkers=8 --cacheDirectory=/tmp/jest_cache
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-8vcpu-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.