Zum Inhalt springen

Django

Django CI auf GitHub Actions

Tests warten auf einen Datenbankcontainer und werden auf einem einzelnen Kern ausgeführt.

16m → 3m
Testsuite
70er → 0er
Migrationen

Tests warten auf einen Datenbankcontainer und werden auf einem einzelnen Kern ausgeführt.

Warum es passiert

Ein Service-Container startet bei jedem Lauf kalt und Djangos Test-Runner ist standardmäßig seriell.

Was zu ändern ist

  1. Führen Sie Tests mit --parallel auto durch, um jeden Kern zu verzweigen
  2. Verwenden Sie --keepdb, damit Migrationen nicht bei jeder Ausführung erneut abgespielt werden
  3. Cachen Sie die virtuelle Umgebung und verwenden Sie UV für die Installation
  4. Starten Sie Postgres als Dienstcontainer mit einem tmpfs-Datenverzeichnis

Django auf runnerhut

Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-8vcpu-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.