DevOps och CI/CD‑automatisering
Leverera ändringar utan dramatik
Testade, släppta och möjliga att backa, så att ändringar når kunderna en tisdagseftermiddag i stället för sent en fredagskväll.
Utvalt arbete som visar den här tjänsten.
-
Gjorde en genomgripande översyn av de interna
Omarbetade interna processer och sparade ~8 000 timmar genom effektivare mjukvaruarkitektur, system och schemaläggning.
-
Effektiviserade CI/CD‑processerna
Effektiviserade CI/CD och sparade ~4 000 timmar med snabbare och mer tillförlitliga releaser, så att teamet kunde leverera med självförtroende.
-
Skrev 578 automationsmål i go‑task
Skrev 578 automatiseringsmål i go-task för lägena native, Docker och HTTPS — lintning, test, databas och driftsättning bakom en enda verktygskedja.
-
Satte ribban vid noll varningar i sex språk
Satte ett kvalitetskrav på noll varningar för Go, TypeScript, SQL, Python, Shell och Markdown, upprätthållet med pre-commit-hooks.
-
Automatiserade teamets samarbete
Automatiserade samarbete samt lösenords-, uppgifts- och tidshantering, byggde ett halvautomatiskt projektgalleri och höjde teamets produktivitet.
-
Byggde en testsvit för Go, SQL och webbläsare
Byggde en skiktad automatiserad testsvit — 981 Go-tester, 543 frontendspecar och 494 SQL-beteendetester — med mutations-, egenskaps- och tillgänglighetsgrindar.
-
Byggde repots kontrollmotor med 268 kontroller
Byggde en kontrollmotor med 268 registrerade commit-kontroller, 277 lintregler och 15 egna ESLint-regler, med 146 tester av själva kontrollerna.
-
Drev ett löpande program för säkerhetsskanning
Etablerade ett kontinuerligt säkerhetsprogram — kodskanning, DAST, beroendekontroller, SBOM, hemlighetsskanning och låsta actions — plus 21 granskningar.
-
Byggde en commit‑grind med 22 linters
Mekaniska invändningar görs av en maskin innan en commit ens finns, och grinden är den enda granskare som projektet har.
-
Ett skyddsnät som inte längre kostar en halvtimme
Kortade de automatiska kontrollerna som vaktar varje release från 27 minuter till 10, genom att köra dem i rätt ordning och flera åt gången.
-
Lintade själva kvalitetsgrinden på 10 242 rader
Den största och mest bärande koden i repot är nu formaterad, lintad och typkontrollerad, med tretton fynd åtgärdade och noll undertryckningar.
-
Gav generatorn 964 tester och 92 % täckning
Pipelinen kan köras om mot en databas i drift utan oro, vilket är det som över huvud taget gör inkrementellt innehållsarbete möjligt.
-
Aktiverade varje lintregel på felnivå
Lintern körs med full styrka och noll fynd, och varje avvikelse är dokumenterad på den rad där den görs.
-
Skrev tester för själva kontrollerna
Varje kontrollprogram i projektet har nu ett test som bevisar att det fallerar på felaktig indata, och intervallkontrollerna läser från sanningskällan.
-
Upptäckte att hookarna och grinden var oense
Hooken och grinden kör bevisligen samma kontroller, och prosakontrollerna körs nu vid varje commit.
-
Skrev en parser som verifierar varje FFI‑anrop
Den feltyp som orsakade den ursprungliga kraschen kan inte återkomma, eftersom en inaktuell referens nu är ett byggfel i stället för ett körtidsfel.
-
Tog testsviten ned till 8,9 sekunder
Sviten gick från sex tester över sextio sekunder — 74 sekunders väggklockstid — till 135 tester som går igenom på 8,9, vilket placerar den inom det fönster där…
-
Lät 4 repon följa en och samma historikstandard
Fyra repon delar ett historikformat och en instruktionsstruktur, båda upprätthållna av hookar snarare än av disciplin.
Är det här arbetet du behöver få gjort, är nästa steg ett samtal.
Berätta om problemet, så säger vi ärligt om vi är rätt personer.