diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5705f1ad26..4b649f6f19 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -162,7 +162,11 @@ typecheck: # Farbcodes muessen raus: nx faerbt auch in der Pipe, und dann steht zwischen "error" # und "TS" eine Escape-Sequenz - ein grep auf "error TS" liefe ins Leere und das Tor # waere immer gruen, ohne je zu pruefen. - - pnpm --dir apps/web lint:types 2>&1 | sed -r 's/\x1b\[[0-9;]*[mK]//g' | tee tsc.log || true + # Ganzer Baum, nicht nur apps/web: Bis 2026-08-20 brach `pnpm -r lint:types` an + # apps/desktop/electron-builder.ts ab (config.dmg moeglicherweise undefined) und + # erreichte apps/web nie - deshalb war der Job anfangs eng gefasst. Der Fehler ist + # behoben, damit deckt das Tor auch die Desktop-Pakete ab. + - pnpm -r --workspace-concurrency=1 lint:types 2>&1 | sed -r 's/\x1b\[[0-9;]*[mK]//g' | tee tsc.log || true - | if grep -E "error TS[0-9]+" tsc.log | grep -v node_modules; then echo "FEHLER: Typfehler im eigenen Code (siehe oben)." @@ -254,6 +258,10 @@ desktop_linux: image: registry.git.lab/axion1337.chat/threadnet-web/desktop-build:bullseye needs: - job: web + # Seit 2026-08-20 prueft typecheck den ganzen Baum, also auch apps/desktop - + # dann darf auch kein Desktop-Paket ohne bestandene Pruefung entstehen. + - job: typecheck + artifacts: false artifacts: true rules: - if: $CI_COMMIT_TAG =~ /^v/ @@ -295,6 +303,10 @@ desktop_windows: - windows needs: - job: web + # Seit 2026-08-20 prueft typecheck den ganzen Baum, also auch apps/desktop - + # dann darf auch kein Desktop-Paket ohne bestandene Pruefung entstehen. + - job: typecheck + artifacts: false artifacts: true rules: - if: $CI_COMMIT_TAG =~ /^v/ diff --git a/apps/desktop/electron-builder.ts b/apps/desktop/electron-builder.ts index 174fe991d4..2612cf780c 100644 --- a/apps/desktop/electron-builder.ts +++ b/apps/desktop/electron-builder.ts @@ -234,7 +234,12 @@ if (variant["mac.icon"]) { } if (variant["dmg.badgeIcon"]) { - config.dmg.badgeIcon = variant["dmg.badgeIcon"]; + // `!`, weil Upstreams Configuration-Interface oben zwar linux/win/mac/deb + // verpflichtend macht, dmg aber nicht - der Wert steht literal in config. + // Dort eine Zeile zu ergaenzen waere die schoenere Loesung und genau die + // Aenderung an Upstreams Block, die der Kommentar oben vermeiden will. + // Dasselbe Idiom nutzt die Datei weiter unten fuer win.signtoolOptions. + config.dmg!.badgeIcon = variant["dmg.badgeIcon"]; } /**