
AI-ով կոդավորումը CI-ին խցանում դարձրեց — ինչպես վերամշակեց Linear-ը
Linear-ը ներկայացրել է, թե ինչպես վերամշակեց CI-ի գործընթացը. թեստերի հավաքածուն գրեթե քառապատկվեց, իսկ pull request-ի սպասումը վեց րոպեից իջավ հինգի սահմաններում։
Linear-ը նկարագրել է, թե ինչպես վերամշակեց շարունակական ինտեգրման (CI) գործընթացը, երբ AI-գործակալները կոդի թողարկումն այնքան արագացրին, որ ստուգումը դարձավ ամենադանդաղ փուլը։ Սեպտեմբերի 21-ին Now բլոգում հրապարակված հոդվածը ստորագրել է Մուֆիզ Ամջադը (Mufeez Amjad). ամեն ինչ սկսվել է CTO Թուոմասի «CI costs are high» առաջադրանքից։
Ինչու CI-ն դարձավ խոչընդոտ
Գործակալները կոդը շատ ավելի արագ են գրում ու թողարկում, սակայն ստուգումը չի հասցնում. ամեն pull request դեռ անցնում է CI-ով, ուստի ծախսերն աճում են, իսկ հետադարձ կապը ուշանում է։ Linear-ը կենտրոնացավ երկու ցուցանիշի վրա՝ pull request-ի սպասման և մեկ թեստի runner-ժամանակի։ Թեստերի հավաքածուն հունվարից գրեթե քառապատկվել է, բայց սպասումը վեց րոպեից իջել է հինգից մի փոքր ավելի, իսկ runner-ժամանակը՝ գրեթե կրկնակի։
Ավելի արագ ենթակառուցվածք և լինթեր
Աշխատանքային բեռների տեղափոխումը GitHub Actions-ից երրորդ կողմի runner-ներ միջինում 34%-ով արագացրեց աշխատանքները, իսկ tsc ստուգումը՝ 52%-ով. tsgo-ին անցումը տիպերի ստուգման շաբաթական մեդիանը կրճատեց 73%-ով։ Տիպերի ինֆորմացիայից կախված լինթերի կանոնները վերաշարադրվեցին շարահյուսական ծառի ստատիկ վերլուծության վրա. ESLint-ը հրաժարվեց TypeScript-ից, API-ի լինթը արագացավ 68%-ով, ամբողջ ռեպոզիտորիայինը՝ 55%-ով։
Կրիտիկական ուղին և պատրաստումը
Checkout-ի խորության սահմանափակումը ամենադանդաղ դարպասը 94 վայրկյանից իջեցրեց 20-ի, իսկ փոփոխությունների հայտնաբերման աշխատանքի մեդիանը՝ 26-ից 8 վայրկյանի։ Քեշ-մարկերի գրառումը merge ուղուց դուրս տանելը յուրաքանչյուր API pull request-ին խնայեց 42 վայրկյան։
Կրկնվող պատրաստումը նույնպես կրճատվեց. pnpm install-ը սահմանափակվեց API փաթեթով (44-73 վայրկյանից՝ 16-18), իսկ մեկ shard-ի պատրաստումը 110-140 վայրկյանից իջավ 67-73-ի։ Յոթ կարճ ստուգում երկու աշխատանքի մեջ միավորելը ամսական խնայեց մոտ 87 000 runner-րոպե՝ CI-ի սպառման 11,8%-ը, իսկ shard-երի թիվը չորսից ութի հասցնելը կրիտիկական աշխատանքը դարձրեց մոտ 19%-ով ավելի արագ ու էժան։
Թեստերի կատարումը և ամփոփումը
Ամենամեծ շահումը տվեց անջատված մեկուսացումով opt-in Vitest նախագիծը. ամսական խնայողությունը մոտ 17%, ամենադանդաղ shard-ը՝ 300-379 վայրկյանից մոտ 195, իսկ API shard-երի runner-ժամանակը մեկ գործարկման համար՝ 32,8-ից 22 րոպե։ Դա ճշգրտության տեսանկյունից ամենառիսկային փոփոխությունն էր։ Linear-ի գնահատմամբ՝ առանց այս աշխատանքի այսօրվա հավաքածուն կտևեր մոտ 11 րոպե՝ գրեթե կրկնակի. շաբաթական ավելանում է մոտ 2 000 թեստ, ուստի աշխատանքը շարունակվում է։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։