From f3ead0c526494e17d8a6d5c115dbf3d7dd42d8c2 Mon Sep 17 00:00:00 2001 From: Ramon Date: Mon, 3 Aug 2026 00:46:02 +0200 Subject: [PATCH] De CI mag de uitslag van --doctor wel degelijk toetsen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ik ging ervan uit dat de bereikbaarheidscontrole niet kon slagen omdat de runner in een eigen container zit. De eerste run liet zien dat hij wél slaagt: "Antwoordt op http://127.0.0.1:5000". De exitcode wordt nu meegenomen, dus een echte fout in de deploy laat de CI vallen in plaats van alleen in het log te belanden. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01Q9eqpADJSRs49SoGGr4NAy --- .forgejo/workflows/deploy.yml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 5ade4cf..663e4c7 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -243,19 +243,25 @@ jobs: if: success() run: | set -uo pipefail - uit="$(sh "$DEPLOY_DIR/install.sh" --doctor --dir "$DEPLOY_DIR" 2>&1 || true)" + uit="$(sh "$DEPLOY_DIR/install.sh" --doctor --dir "$DEPLOY_DIR" 2>&1)" + code=$? printf '%s\n' "$uit" - # De exitcode toetsen we bewust niet: deze runner zit zelf in een - # container, dus de bereikbaarheidscontrole kan niet slagen — die - # kijkt naar 127.0.0.1 op de host. Of de deploy gezond is, is al - # vastgesteld door de healthcheck-stap hierboven. Wat hier wél moet - # kloppen is dat het doorlichten van begin tot eind draait. - for kop in "Installatie" "Docker" "Container" "Account" "Mappen" \ - "Bijwerken vanuit de interface"; do + + # Alle secties moeten gedraaid hebben: een shell-fout halverwege zou + # anders als "niets aan de hand" langskomen. + for kop in "Installatie" "Docker" "Container" "Bereikbaarheid" \ + "Account" "Mappen" "Bijwerken vanuit de interface"; do printf '%s\n' "$uit" | grep -q "^$kop$" || { echo "FOUT: --doctor kwam niet tot de sectie '$kop'"; exit 1; } done - echo "--doctor liep van begin tot eind" + + # En de uitslag telt mee. Waarschuwingen mogen (deze deploy draait + # bewust nog als root), fouten niet. + if [ "$code" -ne 0 ]; then + echo "FOUT: --doctor meldt problemen met de deploy" + exit 1 + fi + echo "--doctor liep van begin tot eind, zonder fouten" - name: Oude images opruimen (behoud laatste 5) if: success()