Toneelschrijver
Toneelschrijver CI op GitHub Actions
Browserdownloads en seriële testuitvoeringen domineren elke run.
75s → 3s
Browser installeren
32m → 6m
E2E-suite
Browserdownloads en seriële testuitvoeringen domineren elke run.
Waarom het gebeurt
Playwright downloadt bij elke run browserbinaire bestanden en gebruikt standaard beperkte werkers in CI.
Wat te veranderen
- Cache ~/.cache/ms-playwright ingetoetst op de Playwright-versie
- Stel werknemers in op het aantal kernkernen in plaats van op de CI-standaard van één
- Shard over hardlopers met --shard en voeg de blobrapporten samen
- Installeer alleen de browsers die u daadwerkelijk test
Toneelschrijver over runnerhut
yaml
jobs: e2e: strategy: matrix: shard: [1, 2, 3, 4] runs-on: runnerhut-8vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - run: npm ci - run: npx playwright install --with-deps chromium - run: npx playwright test --shard=${{ matrix.shard }}/4 --workers=8De 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
CipresHet binaire bestand Cypress downloadt elke run en de specificaties worden serieel uitgevoerd.grapJest transformeert elk bestand bij elke run en gebruikt één worker in CI.VitestVitest optimaliseert de afhankelijkheden opnieuw en draait in één threadpool.pytestpytest draait op één core, terwijl de runner er acht inactief heeft.