Geri Dön
AI kodlaması CI'yı darboğaz yaptı — Linear süreci nasıl yeniledi
SiTech AI Team2 წთ. საკითხავი

AI kodlaması CI'yı darboğaz yaptı — Linear süreci nasıl yeniledi

Linear, CI hattını nasıl yenilediğini anlattı: test paketi neredeyse dört kat büyüdü, buna karşın pull request bekleme süresi altı dakikadan beş dakikanın hemen üstüne indi.

Linear, AI kodlama ajanlarının kod yayınını çok hızlandırmasının ardından sürekli entegrasyon (CI) hattını nasıl yenilediğini anlattı. Şirketin Now blogunda 21 Eylül'de yayımlanan yazıyı Mufeez Amjad imzalıyor; ona göre her şey CTO Tuomas'ın verdiği "CI costs are high" başlıklı görevle başladı.

CI nasıl darboğaz oldu

Ajanlar kodu eskisinden çok daha hızlı yazıp yayına alıyor, ancak doğrulama aynı hızda ilerlemiyor: her pull request yine CI'dan geçtiği için altyapı maliyetleri artıyor ve geri bildirim gecikiyor. Linear iki ölçüte odaklandı: pull request'in CI'da beklemesi ve bir testin harcadığı runner süresi. Test paketi ocaktan bu yana neredeyse dört kat büyürken bekleme süresi altı dakikadan beşin hemen üstüne indi, test başına runner süresi ise kabaca yarıya düştü.

Grafik: test paketinin büyümesi ve test başına makine süresinin düşüşü

Daha hızlı altyapı ve lint

İş yüklerinin GitHub Actions'tan daha hızlı CPU'lu ve daha iyi önbellekli üçüncü taraf runner'lara taşınması işleri ortalama %34, tsc tip denetimini %52 hızlandırdı; tsgo'ya geçiş tip denetiminin haftalık medyanını %73 azalttı. Tip bilgisine dayanan özel lint kuralları sözdizimi ağacında statik analize çevrildi: ESLint TypeScript'ten kurtuldu, API lint süresi %68, tüm deponun lint süresi %55 azaldı.

Kritik yol ve tekrarlanan hazırlık

Checkout derinliğinin sınırlanması en yavaş kapıyı 94 saniyeden 20'ye indirdi, değişiklik algılama işinin medyanı 26 saniyeden 8'e düştü. Önbellek işaretinin merge yolundan çıkarılması her API pull request'inde 42 saniye kazandırdı.

test-api akışı öncesi ve sonrası: 4 dk 57 sn'ye karşı 3 dk 14 sn

Tekrarlanan hazırlık da azaltıldı: pnpm install yalnızca API paketiyle sınırlandı (44-73 saniyeden 16-18'e), shard başına hazırlık 110-140 saniyeden 67-73'e indi. Yedi kısa denetimin iki işte birleştirilmesi ayda yaklaşık 87.000 runner dakikası, yani CI kullanımının %11,8'i tasarruf sağladı; shard sayısı dörtten sekize çıkınca kritik iş yaklaşık %19 daha hızlı ve ucuz oldu.

Test yürütme ve toplam tablo

En büyük tek kazanç, izolasyonun kapatıldığı opt-in Vitest projesinden geldi: aylık tasarruf yaklaşık %17, en yavaş shard 300-379 saniyeden yaklaşık 195'e, API shard'larının runner süresi çalıştırma başına 32,8 dakikadan 22'ye düştü. Doğruluk açısından en riskli değişiklikti, bu yüzden katılım her dosya için açık. Linear'a göre bu çalışma olmasaydı bugünkü test paketi yaklaşık 11 dakika sürerdi — neredeyse iki katı; haftada yaklaşık 2.000 test eklendiği için çalışma sürüyor.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.