fix(poort): ruim de vreemde CMake-stempel op en zet een rem op de bouw #1547
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!1547
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/poortrem"
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?
Vervolg op #1542. Twee dingen die het poortslot nog niet deed, en één correctie op wat ik daar schreef.
De stempel — mijn tekst in #1542 klopte niet
Daar staat dat een worktree-wissel de CMake-cache "opnieuw stempelt — traag maar correct". Dat is onjuist. CMake weigert hard:
En het serialiseren maakte het erger in plaats van beter: elke run stempelt op zijn eigen pad, dus de vólgende faalt gegarandeerd in plaats van af en toe. Dat is live waargenomen op de tak van #1535, die er precies zo op omviel.
Het slot wist die stempel nu binnen het slot — dus zonder een lopende bouw te storen — en alleen
CMakeCache.txtplusCMakeFiles/._depsblijft liggen, want opnieuw ophalen loopt stuk op de 429 van GitHub. De vergelijking gaat over fysieke paden, want/varen/private/varzijn op macOS dezelfde map en onnodig wissen kost een volledige herbouw.De rem
Zonder begrenzing bouwt CMake met één taak per kern en start
flutter testéén werker per kern. Op een laptop met 18 kernen trok dat samen meer stroom dan de adapter kon leveren: de accu liep leeg terwijl hij aan de lader lag, tot 9%.Vier kernen blijven nu vrij aan beide kanten —
CMAKE_BUILD_PARALLEL_LEVELin het slot,TEST_JOBSin de suite-doelen — en beide zijn te overrulen (make test TEST_JOBS=18) voor een machine die verder niets doet.Bewust géén
nice: prioriteit verdeelt rekentijd, maar verlaagt het opgenomen vermogen niet.De volle
make checkvan deze PR draaide met de rem erop, en de accu liep tijdens die run van 17% naar 22%. Dat is het bewijs dat telt.Unieke lognamen
docs/CHECKS.mdeist nu een unieke naam voor een poortlog. Drie runs hebben inmiddels elkaarscheck1.login een gedeelde scratchmap gelezen: één rapporteerde bijna het groen van een andere worktree als het zijne, een ander wilde bijna een fout "repareren" die van een vreemde tak kwam.Toetsing
Vier tests erbij (tien in totaal in
test/gate_lock_test.dart): een vreemde stempel wordt opgeruimd met_depsintact, een eigen stempel blijft staan, de rem staat, en een zelfgezette rem blijft staan.make checkgroen, scans schoon, shellcheck schoon.