static-gate traag: dartcv4-cache-key te grof (gehele pubspec.lock) #1748

Closed
opened 2026-08-23 10:38:54 +00:00 by brenno · 0 comments
Owner

Probleem

Commit 13c8a40ce verwijderde de restore-keys: dartcv-linux- fallback uit static-gate.yml, linux-gate.yml en release.yml om een stale CMake-cache-fout op te lossen (dartcv4 2.2.1+4 → 2.3.0).

De trade-off was: elke pubspec.lock-wijziging geeft nu een volledig schone dartcv4-build vanaf nul (~1 GB OpenCV-bron+build), wat de static-gate aanzienlijk vertraagt bij elke dep-bump.

Oplossing

De cache-key was dartcv-linux-${{ hashFiles("pubspec.lock") }} — dat hangt aan de héle pubspec.lock, terwijl de OpenCV-build alleen afhangt van de dartcv4-versie.

Fix: een extractiestap die de dartcv4-versie uit pubspec.lock haalt, en de key op die versie alleen:

key: dartcv-linux-${{ steps.dartcv.outputs.versie }}

Zonder restore-keys:

  • Niet-dartcv4 dep-bump → key ongewijzigd → cache hit (snel)
  • dartcv4-bump → nieuwe key, geen restore → schone build (correct, behoudt de 13c8a40ce fix)

Aangepaste workflows: static-gate.yml, linux-gate.yml, release.yml (web + linux jobs).

## Probleem Commit `13c8a40ce` verwijderde de `restore-keys: dartcv-linux-` fallback uit static-gate.yml, linux-gate.yml en release.yml om een stale CMake-cache-fout op te lossen (dartcv4 2.2.1+4 → 2.3.0). De trade-off was: **elke `pubspec.lock`-wijziging geeft nu een volledig schone dartcv4-build vanaf nul** (~1 GB OpenCV-bron+build), wat de static-gate aanzienlijk vertraagt bij elke dep-bump. ## Oplossing De cache-key was `dartcv-linux-${{ hashFiles("pubspec.lock") }}` — dat hangt aan de héle `pubspec.lock`, terwijl de OpenCV-build alleen afhangt van de **dartcv4-versie**. Fix: een extractiestap die de dartcv4-versie uit `pubspec.lock` haalt, en de key op die versie alleen: ```yaml key: dartcv-linux-${{ steps.dartcv.outputs.versie }} ``` Zonder `restore-keys`: - Niet-dartcv4 dep-bump → key ongewijzigd → **cache hit** (snel) - dartcv4-bump → nieuwe key, geen restore → **schone build** (correct, behoudt de `13c8a40ce` fix) Aangepaste workflows: `static-gate.yml`, `linux-gate.yml`, `release.yml` (web + linux jobs).
brenno 2026-08-23 12:02:23 +00:00
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#1748
No description provided.