Naar inhoud springen

Laravel

Laravel CI op GitHub Actions

Composer install en Pest beginnen beide koud, en MySQL heeft tijd nodig om gezond te worden.

Jaren 80 → 5s
Installeren
7m → 2m
Testsuite

Composer install en Pest beginnen beide koud, en MySQL heeft tijd nodig om gezond te worden.

Waarom het gebeurt

De Composer-cache is niet persistent en de databaseservicecontainer heeft geen gereedheidsafstemming.

Wat te veranderen

  1. Cache ~/.composer/cache en leverancier/ ingetoetst op composer.lock
  2. Voer Pest of PHPUnit parallel uit met --parallel
  3. Gebruik een tmpfs-volume voor MySQL-gegevens, zodat tests niet schijfgebonden zijn
  4. Cache de Laravel-configuratie en routecaches voor sneller opstarten

Laravel op runnerhut

yaml
jobs:
test:
runs-on: runnerhut-4vcpu-ubuntu-2404
services:
mysql:
image: mysql:8
env: { MYSQL_ROOT_PASSWORD: root, MYSQL_DATABASE: testing }
steps:
- uses: actions/checkout@v4
- run: composer install --prefer-dist --no-progress
- run: php artisan test --parallel
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.