Naar inhoud springen

gidsen

Gestapelde diffs maken CI duurder – doe ze toch

Door te stapelen worden pijplijnruns vermenigvuldigd. De oplossing is gelijktijdigheidscontrole, niet minder pull-aanvragen.

{auteur} · {rol} · {datum} · {minuten} min leestijd

Gestapelde pull-verzoeken zijn een goede gewoonte en zijn in CI echt duurder: het opnieuw baseren van de onderkant van een stapel maakt elke vertakking erboven ongeldig, en elke tak wordt opnieuw uitgevoerd.

Waar de kosten eigenlijk naartoe gaan

Niet in de extra pull-verzoeken – in de herhalingen die worden geactiveerd door het opnieuw stapelen. Een vijf-deep stack die drie keer wordt gerebaseerd, is vijftien pijplijnruns, waarvan de meeste resultaten niemand leest omdat er al een nieuwe rebase aankomt.

Wat te doen in plaats van minder te stapelen

  1. Concurrency annulering is op de scheidsrechter gericht, dus een herstapeling annuleert de vervangen run onmiddellijk
  2. Voer de volledige suite alleen uit op de onderkant van de stapel en bij samenvoegen; Voer snelle controles uit op de rest
  3. Gebruik detectie van getroffen doelen, zodat een niet-gerelateerde vertakking in de stapel niet alles opnieuw opbouwt
  4. Concept-pull-aanvragen krijgen de beperkte pijplijn totdat ze als gereed worden gemarkeerd

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.