Eingebettete Firmware
Eingebettetes Firmware-CI auf GitHub Actions
Cross-Compilation-Toolchains werden bei jedem Lauf heruntergeladen und neu erstellt.
3m → 8s
Toolchain-Setup
9m → 2m
Bauen
Cross-Compilation-Toolchains werden bei jedem Lauf heruntergeladen und neu erstellt.
Warum es passiert
Toolchain-Archive und das Build-Verzeichnis werden nicht zwischengespeichert, sodass jeder Firmware-Build kalt ist.
Was zu ändern ist
- Zwischenspeichern des Toolchain-Installationsverzeichnisses, das auf der Toolchain-Version basiert
- Verwenden Sie Ccache mit dem Cross-Compiler als Launcher
- Erstellen Sie Varianten als Matrix und nicht sequenziell in einem Job
Eingebettete Firmware 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.
Verwandt
TerraformTerraform Init lädt bei jedem Lauf jeden Anbieter herunter.PulumiDie Plugin- und Abhängigkeitsinstallation wird vor jeder Vorschau ausgeführt.KubernetesDas Hochfahren eines Art- oder K3S-Clusters dauert Minuten, bevor die Tests beginnen.HelmDiagrammabhängigkeitsaktualisierungen und Linting laufen jedes Mal kalt ab.