v0.8.07-beta - opruimen mag de uitslag van de backuptest niet bepalen
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 16m13s
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 16m13s
De rondgang doorliep alle vijf de stappen goed en de CI-stap viel er daarna alsnog op om, zonder melding: tussen "Rondgang geslaagd" en het einde zaten tweeenhalve seconde en verder niets. Dat is het opruimblok. - opruimen kan de uitslag niet meer bepalen; mislukt het, dan staat dat er - het script eindigt expliciet met exitcode 0 - de CI drukt de exitcode van de stap af, want zonder dat getal was niet te achterhalen waar een rode job vandaan kwam terwijl het scherm groen was De postgres-race uit v0.8.06 is bevestigd opgelost: de rondgang liep in een keer door. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q9eqpADJSRs49SoGGr4NAy
This commit is contained in:
parent
9fb31dfa9e
commit
2a50b5a92c
4 changed files with 46 additions and 5 deletions
|
|
@ -247,7 +247,7 @@ jobs:
|
|||
# host opgezocht, niet in deze container.
|
||||
- name: Backup en terugzetten met echte Docker
|
||||
run: |
|
||||
set -euo pipefail
|
||||
set -uo pipefail
|
||||
PROEF="$DEPLOY_DIR/.backup-rondgang"
|
||||
rm -rf "$PROEF"; mkdir -p "$PROEF"
|
||||
docker run --rm \
|
||||
|
|
@ -257,6 +257,13 @@ jobs:
|
|||
-e PYTHONDONTWRITEBYTECODE=1 \
|
||||
"server-up:${VERSION}" \
|
||||
python tools/backup_rondgang.py "$PROEF"
|
||||
code=$?
|
||||
# De exitcode expliciet tonen. Een run die "Rondgang geslaagd" op het
|
||||
# scherm zette en tóch rood werd, liet nergens zien waar dat vandaan
|
||||
# kwam — en zonder dit getal is dat niet te achterhalen.
|
||||
echo "rondgang exitcode: $code"
|
||||
rm -rf "$PROEF" || true
|
||||
[ "$code" -eq 0 ] || exit 1
|
||||
|
||||
# `--doctor` is ruim honderd regels shell die alleen tegen een échte
|
||||
# installatie draaien. De pytest-suite komt niet verder dan "er is geen
|
||||
|
|
|
|||
21
CHANGELOG.md
21
CHANGELOG.md
|
|
@ -1,3 +1,24 @@
|
|||
# v0.8.07-beta — "Rondgang geslaagd" en toch een rode job
|
||||
|
||||
De backup-rondgang doorliep alle vijf de stappen goed — dump, archief, alles
|
||||
weggooien, terugzetten, eigenaar bewaard, database schrijft weer — en de
|
||||
CI-stap viel er daarna alsnog op om. Zonder melding: tussen "Rondgang geslaagd"
|
||||
en het einde van de stap zaten tweeënhalve seconde en verder niets.
|
||||
|
||||
Dat is het opruimblok. Dat hoort de uitslag niet te bepalen: of een
|
||||
testcontainer zich laat verwijderen zegt niets over of backups werken. Een fout
|
||||
daar liet nu de hele stap vallen, en omdat er niets werd afgedrukt was er ook
|
||||
niets aan te zien.
|
||||
|
||||
- opruimen kan de uitslag niet meer bepalen; mislukt het, dan staat dát er
|
||||
- het script eindigt expliciet met exitcode 0, zodat er geen twijfel over de
|
||||
afloop kan bestaan
|
||||
- de CI drukt de exitcode van de stap af. Zonder dat getal was niet te
|
||||
achterhalen waar een rode job vandaan kwam terwijl het scherm groen was
|
||||
|
||||
De postgres-race uit v0.8.06 is hiermee bevestigd opgelost: de rondgang liep in
|
||||
één keer door.
|
||||
|
||||
# v0.8.06-beta — De backuptest in de CI struikelde over postgres
|
||||
|
||||
Vier CI-runs op rij faalden, en niet op iets in Server Up: de backup-rondgang
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
0.8.06-beta
|
||||
0.8.07-beta
|
||||
|
|
|
|||
|
|
@ -219,9 +219,22 @@ def main() -> None:
|
|||
|
||||
kop("Rondgang geslaagd")
|
||||
finally:
|
||||
subprocess.run(["docker", "rm", "-f", f"{STACK}-db"],
|
||||
capture_output=True, timeout=120)
|
||||
shutil.rmtree(basis, ignore_errors=True)
|
||||
# Opruimen mag de uitslag niet bepalen. De rondgang was hierboven al
|
||||
# geslaagd of gefaald; een container die zich niet laat verwijderen of
|
||||
# een map die vastzit is vervelend, maar zegt niets over backups.
|
||||
# Eerder kon een fout hier de hele stap laten vallen zónder melding:
|
||||
# "Rondgang geslaagd" op het scherm en toch een rode job.
|
||||
try:
|
||||
subprocess.run(["docker", "rm", "-f", f"{STACK}-db"],
|
||||
capture_output=True, timeout=120)
|
||||
except Exception as e:
|
||||
print(f" opruimen van de container mislukte: {e}", flush=True)
|
||||
try:
|
||||
shutil.rmtree(basis, ignore_errors=True)
|
||||
except Exception as e:
|
||||
print(f" opruimen van {basis} mislukte: {e}", flush=True)
|
||||
|
||||
|
||||
main()
|
||||
# Expliciet, zodat er geen twijfel over de afloop kan bestaan.
|
||||
raise SystemExit(0)
|
||||
|
|
|
|||
Loading…
Reference in a new issue