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
- Cache de Jest-cachemap ingetoetst op het lockfile en config
- Stel --maxWorkers in op het kernaantal in plaats van de standaardwaarde te accepteren
- Gebruik --shard over een matrix voor suites van meer dan tien minuten
- 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_cacheDe 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.
Gerelateerd
ToneelschrijverBrowserdownloads en seriële testuitvoeringen domineren elke run.CipresHet binaire bestand Cypress downloadt elke run en de specificaties worden serieel uitgevoerd.VitestVitest optimaliseert de afhankelijkheden opnieuw en draait in één threadpool.pytestpytest draait op één core, terwijl de runner er acht inactief heeft.