HeadlinesBriefing favicon HeadlinesBriefing.com

KI-Codierung macht CI zum Engpass: Linears Lösung

Hacker News •
×

Anfang dieses Jahres hat mir Tuomas, unser CTO, ein Problem zugewiesen: „Die CI-Kosten sind hoch.“ Er wollte auch, dass CI schneller wird. Agenten beschleunigen das Ausliefern, aber die Validierung von Änderungen hat nicht Schritt gehalten. Jeder PR muss durch CI, daher wird CI mit zunehmender Entwicklungsgeschwindigkeit zum Engpass, treibt die Infrastrukturkosten in die Höhe und lässt Entwickler länger auf Feedback warten. Bei Linear haben wir auf PR-Wartezeit und Runner-Zeit optimiert. Obwohl sich die Test-Suites fast vervierfacht haben, haben wir die PR-Wartezeit von über 6 Minuten auf knapp über 5 reduziert und die Runner-Zeit pro Test halbiert.

Wir haben CI auf vier Arten verbessert: Infrastruktur und Tooling aufgerüstet, Jobs optimiert, die andere Arbeit steuern, wiederholtes Setup reduziert und die Testausführung effizienter gemacht. Linears Codebasis ist hauptsächlich TypeScript, aber viele Optimierungen gelten sprachübergreifend.

Die Verlagerung von Workloads von GitHub Actions auf Drittanbieter-Runner mit schnelleren CPUs und Speicher reduzierte die Jobzeiten um durchschnittlich 34 %, wobei tsc um 52 % sank. Der Wechsel zu tsgo senkte den wöchentlichen Median der tsc-Prüfung um 73 %. Die Neufassung der Lint-Regeln zur Verwendung statischer Analyse ließ ESLint TypeScript aufgeben, wodurch die API-Lint-Zeit um 68 % und das Lint des gesamten Repos um 55 % sank. Der Wechsel zu Oxlint reduzierte die Runner-Minuten weiter. Wir haben auch Gating-Jobs optimiert und die Fetch-Tiefe begrenzt, um das langsamste Gate von 94 Sekunden auf 20 zu reduzieren.