Bootstrap afhankelijkheden van alle first-party packages vóór analyse #2307

Closed
opened 2026-10-05 23:49:10 +00:00 by brenno · 2 comments
Owner

Aanleiding

De handmatige poorten van release v0.6.14 faalden allebei op dezelfde schone-checkoutfout. static-gate en linux-gate halen alleen de rootafhankelijkheden op met flutter pub get. Daarna scant flutter analyze ook packages/ocideck_form_core/test, maar de dev dependency package:test van dat nested package is nooit opgehaald.

Lokaal was packages/ocideck_form_core/.dart_tool/package_config.json nog aanwezig van een eerdere test-packages-run. Daardoor was make check-release groen en bleef de fout verborgen tot fase 2.

Bewijs

  • static-gate run 5444 en linux-gate run 5446 falen op package:test/test.dart ontbreekt, gevolgd door 4.209 afgeleide analyzerfouten.
  • .forgejo/workflows/static-gate.yml:75-76 en linux-gate.yml:132-133 halen alleen rootdependencies op.
  • Makefile:146-151 analyseert de hele repository.
  • Makefile:803-818 haalt nested package-afhankelijkheden pas in test-packages op.
  • test-packages staat na STATIC_GATES en dus na analyze in check-locked en check-no-coverage.
  • Dezelfde fout is reproduceerbaar op main; vier nachtruns waren sinds 2 oktober al rood.

Gewenst gedrag

  • Ontdek alle packages/*/pubspec.yaml dynamisch.
  • Draai dart pub get --enforce-lockfile voor ieder first-party package vóór elke repositorybrede analyse.
  • Dezelfde gedeelde Makefile-route geldt lokaal, in static-gate en in linux-gate; geen hardcoded workflowreparatie voor alleen ocideck_form_core.
  • test-packages hergebruikt de bootstrap en doet geen tegenstrijdige tweede installatie.
  • Een schone checkout zonder nested .dart_tool doorloopt analyse en beide poorten.

Regressietoets

Verwijder of isoleer alle genegeerde packages/*/.dart_tool-state in een testharnas, voer de packagebootstrap uit en bewijs daarna dat analyse package:test kan oplossen. De toets moet falen wanneer analyze niet van de dynamische bootstrap afhankelijk is.

## Aanleiding De handmatige poorten van release v0.6.14 faalden allebei op dezelfde schone-checkoutfout. static-gate en linux-gate halen alleen de rootafhankelijkheden op met flutter pub get. Daarna scant flutter analyze ook packages/ocideck_form_core/test, maar de dev dependency package:test van dat nested package is nooit opgehaald. Lokaal was packages/ocideck_form_core/.dart_tool/package_config.json nog aanwezig van een eerdere test-packages-run. Daardoor was make check-release groen en bleef de fout verborgen tot fase 2. ## Bewijs - static-gate run 5444 en linux-gate run 5446 falen op package:test/test.dart ontbreekt, gevolgd door 4.209 afgeleide analyzerfouten. - .forgejo/workflows/static-gate.yml:75-76 en linux-gate.yml:132-133 halen alleen rootdependencies op. - Makefile:146-151 analyseert de hele repository. - Makefile:803-818 haalt nested package-afhankelijkheden pas in test-packages op. - test-packages staat na STATIC_GATES en dus na analyze in check-locked en check-no-coverage. - Dezelfde fout is reproduceerbaar op main; vier nachtruns waren sinds 2 oktober al rood. ## Gewenst gedrag - Ontdek alle packages/*/pubspec.yaml dynamisch. - Draai dart pub get --enforce-lockfile voor ieder first-party package vóór elke repositorybrede analyse. - Dezelfde gedeelde Makefile-route geldt lokaal, in static-gate en in linux-gate; geen hardcoded workflowreparatie voor alleen ocideck_form_core. - test-packages hergebruikt de bootstrap en doet geen tegenstrijdige tweede installatie. - Een schone checkout zonder nested .dart_tool doorloopt analyse en beide poorten. ## Regressietoets Verwijder of isoleer alle genegeerde packages/*/.dart_tool-state in een testharnas, voer de packagebootstrap uit en bewijs daarna dat analyse package:test kan oplossen. De toets moet falen wanneer analyze niet van de dynamische bootstrap afhankelijk is.
Author
Owner

Opgepakt. Tak: release/v0.6.14. Verwachte reikwijdte: Makefile en een gerichte regressietoets voor package-bootstrap vóór analyse.

Opgepakt. Tak: release/v0.6.14. Verwachte reikwijdte: Makefile en een gerichte regressietoets voor package-bootstrap vóór analyse.
Author
Owner

Reparatie staat op release/v0.6.14 in commit c9964a22d en is opgenomen in PR #2293. De volledige lokale make check-poort is groen; de drie onafhankelijke releasepoorten worden opnieuw gestart op deze commit.

Reparatie staat op release/v0.6.14 in commit c9964a22d en is opgenomen in PR #2293. De volledige lokale `make check`-poort is groen; de drie onafhankelijke releasepoorten worden opnieuw gestart op deze commit.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2307
No description provided.