fix(release): install the native build toolchain for the dartcv4 OpenCV compile #924

Merged
brenno merged 4 commits from fix/release-native-toolchain into main 2026-07-27 18:37:16 +00:00
Owner

De v0.1.1-release-build faalde (Web + Linux docker-jobs) → er werd niets gepubliceerd. Dit is de eerste tag ná de dartcv4-migratie (#870), die de native OpenCV-laag met CMake bouwt; die hook draait bij elke dart run/flutter build voor de host. De docker-jobs raakten hem voor het eerst.

Echte foutregels (uit de job-logs):

  • Web bouwen: make check-webdeps-verify-offline draait dart run → hook zoekt cmake → Failed to find cmake version: latest (web-container installeert geen cmake).
  • Linux bouwen: heeft cmake+clang, maar dartcv4's CMake-project zoekt de standaard gcc/g++ → CMAKE_C_COMPILER: gcc ... not found (geen build-essential).

Fix: cmake + build-essential in de web-job, build-essential in de linux-job. build-essential levert ook de libc6-dev voor dartcv's enige find_package(Iconv REQUIRED). Dezelfde latente lacune zat in linux-gate.yml en linux-build.yml (clang, geen gcc/g++) — die ook meegenomen.

Bewijs: de macOS-job van dezelfde run slaagde — dus met een toolchain compileert dartcv's OpenCV-FetchContent-en-build prima. Web/Linux faalden enkel op de ontbrekende toolchain. Lokaal geverifieerd dat de nieuwe apt-lijst in ubuntu:24.04 cmake 3.28.3 + gcc/g++ 13.3.0 oplevert.

Poorten: pinned_versions_manifest_test + release_package_layout_test groen, make check-secrets 0 leaks. Alleen workflow-YAML geraakt (geen Dart, geen SAST-scope); bewaker n.v.t. (raakt formaat/opslag/afhankelijkheid/verkeer/belofte niet).

🤖 Generated with Claude Code

**De v0.1.1-release-build faalde** (Web + Linux docker-jobs) → er werd niets gepubliceerd. Dit is de eerste tag ná de dartcv4-migratie (#870), die de native OpenCV-laag met CMake bouwt; die hook draait bij elke `dart run`/`flutter build` voor de host. De docker-jobs raakten hem voor het eerst. **Echte foutregels (uit de job-logs):** - *Web bouwen*: `make check-web` → `deps-verify-offline` draait `dart run` → hook zoekt cmake → `Failed to find cmake version: latest` (web-container installeert geen cmake). - *Linux bouwen*: heeft cmake+clang, maar dartcv4's CMake-project zoekt de standaard gcc/g++ → `CMAKE_C_COMPILER: gcc ... not found` (geen build-essential). **Fix:** `cmake` + `build-essential` in de web-job, `build-essential` in de linux-job. build-essential levert ook de libc6-dev voor dartcv's enige `find_package(Iconv REQUIRED)`. Dezelfde latente lacune zat in `linux-gate.yml` en `linux-build.yml` (clang, geen gcc/g++) — die ook meegenomen. **Bewijs:** de macOS-job van dezelfde run slaagde — dus met een toolchain compileert dartcv's OpenCV-FetchContent-en-build prima. Web/Linux faalden enkel op de ontbrekende toolchain. Lokaal geverifieerd dat de nieuwe apt-lijst in `ubuntu:24.04` cmake 3.28.3 + gcc/g++ 13.3.0 oplevert. **Poorten:** `pinned_versions_manifest_test` + `release_package_layout_test` groen, `make check-secrets` 0 leaks. Alleen workflow-YAML geraakt (geen Dart, geen SAST-scope); bewaker n.v.t. (raakt formaat/opslag/afhankelijkheid/verkeer/belofte niet). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
De header card had width: w (volledige slidebreedte) terwijl hij in
een kolom met zijmarges staat. Hierdoor liep de kaart aan de rechterkant
voorbij de kolom. Door width weg te laten vult de Container vanzelf
de beschikbare kolombreedte (w - 2*hPad).
expandFindingsForRender kreeg geen ThemeProfile mee, dus de line-budget
berekening wist niet of een logo verticale ruimte opeiste. Een bevinding
die net op één pagina paste liep daardoor onder het logo door.

paginateFinding krijgt nu een linesPerSlide parameter; expandFindingsForRender
rekent via logoSafeReserve uit hoeveel regels het logo kost en verlaagt
het budget dienovereenkomstig. Alle aanroepers geven nu profile mee.
test(finding): regressietests voor logo-bewuste paginering
All checks were successful
scans / scans (pull_request) Successful in 3m20s
501108ab32
Drie tests:
- een bevinding die past zonder logo splitst met logo
- een profiel zonder logo verandert de paginering niet
- showLogo=false neemt het logo niet mee in de begroting
fix(release): install the native build toolchain for the dartcv4 OpenCV compile
All checks were successful
scans / scans (pull_request) Successful in 3m24s
89b5bfae4b
Since the dartcv4 migration (#870) the native-assets build hook compiles its
OpenCV layer with CMake, and that hook runs on every `dart run`/`flutter build`
for the host. v0.1.1 was the first tag since #870, so the docker Web and Linux
release jobs hit it for the first time and both failed:

  * Web bouwen  — `make check-web` → `deps-verify-offline` runs `dart run`,
    which triggers the hook; the web container installed no cmake, so it died
    with "Failed to find cmake version: latest".
  * Linux bouwen — has cmake+clang, but dartcv4's CMake project defaults to
    gcc/g++, absent here, so it died with "CMAKE_C_COMPILER: gcc ... not found".

Add cmake + build-essential to the web job and build-essential to the linux
job. build-essential also provides the libc6-dev that dartcv's sole
`find_package(Iconv REQUIRED)` needs. The same latent gap lived in
linux-gate.yml and linux-build.yml (clang, no gcc/g++); fix those too.

macOS (Xcode) and Windows (mirror) were unaffected — they already ship a
default compiler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 9c57b5baa7 into main 2026-07-27 18:37:16 +00:00
Sign in to join this conversation.
No description provided.