Ingenieurwesen
CI auf arm64 migrieren: Was tatsächlich kaputt geht
Wir haben 200 Repositorys auf arm64-Läufer verschoben. Hier ist die vollständige Liste dessen, was fehlgeschlagen ist und warum.
{Autor} · {Rolle} · {Datum} · {Minuten} {MinutenLabel}
arm64 ist pro Minute günstiger und oft schneller. Die Migration ist in der Regel unkompliziert. Wenn dies nicht der Fall ist, liegt die Ursache fast immer in derselben Kategorie von Dingen.
Was ist kaputt, in der Reihenfolge der Häufigkeit
- Transitive native Node-Module ohne Aarch64-Prebuild, die auf eine langsame Quellkompilierung zurückgreifen
- Python-Pakete ohne Manylinux_aarch64-Rad, Kompilierung aus dem Quellcode
- Docker-Basisbilder, die an ein Nur-AMD64-Tag angeheftet sind
- Servicecontainer ohne arm64-Variante, die stillschweigend auf die Emulation zurückgreifen
- Cache-Schlüssel ohne runner.arch, wodurch x64-Artefakte auf arm64 wiederhergestellt werden und Linkerfehler entstehen
Was nicht kaputt ging
Fast alles reiner Anwendungscode. Go, Rust, Java, Ruby, PHP und Modern Node kreuzen sich alle sauber. Die Fehler konzentrierten sich auf native Abhängigkeitskanten und nicht auf die Sprachen selbst.
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
CI, wenn Ihre Teamkollegen Agenten sindKI-Coding-Agenten pushen weitaus häufiger als Menschen. Hier erfahren Sie, wie sich dadurch das Pipeline-Design und die Kostenkontrolle ändern.Warum wir Hinweise zum Verlassen veröffentlichenJede Migrationsseite auf dieser Website enthält das Diff, um von uns zurück zu migrieren. Hier ist die Begründung.Was wir bei der Leitung von einer Million CI-Jobs gelernt habenWarteschlangenzeit, Cache-Verhalten, richtige Dimensionierung und die Fehlermodi, die nur im Maßstab auftreten.Hören Sie auf, flockige Tests erneut zu versuchenAutomatische Wiederholungsversuche wandeln einen echten Fehler in einen vorübergehenden Fehler um und trainieren Ihr Team, jedem Fehler zu misstrauen.