Laravel
Laravel CI auf GitHub Actions
Composer-Installation und Pest starten beide kalt, und MySQL braucht Zeit, um fehlerfrei zu werden.
80er → 5er
Installieren
7m → 2m
Testsuite
Composer-Installation und Pest starten beide kalt, und MySQL braucht Zeit, um fehlerfrei zu werden.
Warum es passiert
Der Composer-Cache wird nicht beibehalten und der Datenbankdienstcontainer verfügt über keine Bereitschaftsoptimierung.
Was zu ändern ist
- Cache ~/.composer/cache und Vendor/ sind auf „composer.lock“ festgelegt
- Führen Sie Pest oder PHPUnit parallel mit --parallel aus
- Verwenden Sie ein tmpfs-Volume für MySQL-Daten, damit Tests nicht festplattengebunden sind
- Zwischenspeichern Sie die Laravel-Konfigurations- und Routen-Caches für einen schnelleren Start
Laravel auf runnerhut
Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-4vcpu-ubuntu-2404“. Alles andere sind Standard-GitHub Actions – dieselben Aktionen, dieselben Geheimnisse und dasselbe Berechtigungsmodell, das Sie heute verwenden.
Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis
Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.
Verwandt
Next.jsBeim nächsten Build wird jede Seite neu kompiliert, auch wenn sich eine Komponente geändert hat.Eckigng build und ng test starten beide bei jedem Lauf mit einem kalten Cache.VueVite erstellt das Abhängigkeits-Vorpaket bei jedem CI-Lauf neu.SchlankSvelteKit-Builds und Playwright-Tests laufen bei jedem Push ab.