perf(poort): de uitbrengpoort draait op de Mac-runner — 46 min naar 2 min 51 #797
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!797
Loading…
Reference in a new issue
No description provided.
Delete branch "perf/gate-op-de-mac"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
De derde en laatste optie uit het onderzoek naar de trage gate — en de enige die de factor tien echt weghaalt.
Nagemeten, niet beloofd
De proefvlucht is gedraaid vóór deze PR:
workflow_dispatchop deze tak, taak 665 op de Mac-runner.Dat is ~16×. De oorzaak stond al in #796: vier fysieke kernen van een Xeon D-2123IT uit 2018, 3,8× trager per kern dan een M5 Max. Het is de machine, niet het werk.
Wat er verandert
ci.ymldraaitruns-on: macosin host-modus: geen container, geen tarball, geen sha256-stap, geen caches — de job gebruikt de gepinde toolchain die op die machine staat.check-toolchaindraait onverkort mee en eist ook daar kanaalstable, officiële herkomst en gelijkheid met de pin. "Het is mijn eigen machine" is geen controle.De oude containerpoort is niet weggegooid maar verhuisd naar
linux-gate.yml, opworkflow_dispatch, mét de toolchain- en pub-caches die daar wél zin hebben.Wat dit kost — twee dingen, allebei echt
1. De suite draait nergens meer standaard op Linux. Dat is een gat, geen formaliteit:
git2.43 op Ubuntu 24.04 kent--end-of-optionsniet, en zulke verschillen vindt geen enkele Mac. Vandaar datlinux-gate.ymlblijft bestaan. Druk hem in vóór een release en bij wijzigingen aan paden, subprocessen ofgit-aanroepen. Wie hem nooit indrukt, draait hem nooit — dat is de afweging, geen ongeluk.2. De uitbrengpoort hangt nu aan één fysieke machine van één persoon. Staat de Mac uit, dan wacht de run: de tag landt wel, de poort komt later. Te verkiezen boven een poort die niemand afwacht, maar dit is geen serverklasse-opstelling en moet niet zo gelezen worden.
Allebei staan ze in de workflow zelf én in de docs, niet alleen hier — dit is precies het soort ding dat stil wegzakt.
Documentatie
Vier bestanden droegen de oude belofte: CHECKS.md en BUILD.md beschreven de poort als een Ubuntu-container met
make check, README zei "22 minuten daar", en SBOM.md stond nog op #751 ("elke pull request en push naar main") — wat sinds #790 al niet meer klopte. Alle vier bijgewerkt, met er expliciet bij wat er níet meer draait.Poorten
success, 2 min 51 s.make checkgroen (6300 toetsen, exit 0),make check-secretsgroen,make sastgroen (0 bevindingen over 709 bestanden).Eén ding voor apart
make checkviel vandaag twee keer om opFailed to load "...": type '_Map<String, dynamic>' is not a subtype of type 'List<dynamic>'— bij het laden, op twee verschillende testbestanden (render_page_serialisation_test,privacy_dismissal_panel_test), allebei groen bij los draaien en allebei weg narm -rf build/test_cache. Dat is niet van deze wijziging, maar het is nu wel twee keer op één dag. Ik meld het apart als issue als je dat wilt.