Η πρόκληση της ταχύτητας στην εποχή του AI

Η χρήση AI για τη συγγραφή κώδικα έχει επιταχύνει κατακόρυφα την ανάπτυξη λογισμικού, δημιουργώντας όμως ένα νέο πρόβλημα: το CI (Continuous Integration) μετατρέπεται σε «σημείο συμφόρησης (bottleneck)». Στη Linear, η ραγδαία αύξηση των tests κατέστησε απαραίτητη την αναθεώρηση ολόκληρης της διαδικασίας CI, ώστε να μην καθυστερούν οι προγραμματιστές και τα AI agents.

Υποδομές και έξυπνη διαχείριση των Gating Jobs

Το πρώτο βήμα ήταν η μετάβαση σε third-party runners με ταχύτερους επεξεργαστές και καλύτερη αποθήκευση. Παράλληλα, η ομάδα εστίασε στα «gating jobs» — τις μικρές εργασίες που προηγούνται των μεγάλων ελέγχων. Περιορίζοντας το βάθος του git fetch και εξαλείφοντας περιττά checkouts, ο χρόνος ανίχνευσης αλλαγών μειώθηκε από τα 26 στα 8 δευτερόλεπτα.

Μείωση του Setup Overhead

Κάθε δευτερόλεπτο που δαπανάται για την εγκατάσταση πακέτων (pnpm install) ή το στήσιμο του περιβάλλοντος προσθέτει καθυστέρηση. Η Linear μετέφερε τα κοινά dependencies σε ένα custom CI base image και περιόρισε τις εγκαταστάσεις μόνο στα απαραίτητα πακέτα ανά job. Αυτές οι κινήσεις μείωσαν τον χρόνο setup ανά shard κατά περίπου 44%.

Βελτιστοποίηση της εκτέλεσης των Tests

Η πιο δραστική βελτίωση ήρθε από την αλλαγή στον τρόπο εκτέλεσης των tests με το Vitest. Επιτρέποντας σε επιλεγμένα αρχεία να μοιράζονται το module registry (απενεργοποιώντας το isolate: false), η ομάδα απέφυγε χιλιάδες περιττά rebuilds. Σε συνδυασμό με την αύξηση των shards από 4 σε 8, ο χρόνος ολοκλήρωσης της σουίτας ελέγχων μειώθηκε δραματικά, διασφαλίζοντας ότι η ταχύτητα ανάπτυξης παραμένει υψηλή παρά την συνεχή προσθήκη νέων tests.