whisper-money/.github/workflows
Víctor Falcón e3cbbb2e0d
ci: make deploy webhook curl robust and observable (#484)
## Problem

The deploy step intermittently fails on CI with only:

```
Response:
HTTP Status: 000
Deployment request failed with status 000
```

`000` means curl never completed a connection — the Coolify box (which
rebuilds the image from git on deploy) has its API unreachable while a
prior build runs. But the step gave no way to confirm that: `-s`
silenced curl's error message and `|| true` swallowed the exit code.

## Changes

- **Surface the real cause** — `-sS` plus `--write-out
%{exitcode}`/`%{errormsg}`/timing, so failures print the curl exit code
(7 refused, 28 timeout, …) and message instead of a blind `000`.
- **Robust parsing** — body/metadata split on an explicit
`===CURL_META===` marker instead of fragile `tail`/`sed` line counting.
- **No false timeouts** — `--max-time` raised 120→300s so a
slow-but-alive box doesn't abort mid-trigger and report a phantom `000`.
- **Wider retry window** — 10 attempts with backoff capped at 60s (~8
min) instead of 5 with a 240s dead sleep, to ride out a multi-minute
rebuild.
- **Fail fast on 4xx** — a bad token/uuid is not retryable, so don't
waste the window on it.

## Note

This makes the trigger robust and observable; the structural fix (let
Coolify pull the prebuilt ghcr image instead of rebuilding on the box)
is out of scope here.
2026-06-04 08:46:18 +02:00
..
automerge.yml fix: limit bank sync emails to one per day (#290) 2026-04-15 16:39:28 +02:00
ci.yml ci: make deploy webhook curl robust and observable (#484) 2026-06-04 08:46:18 +02:00
pr-title.yml ci: enforce conventional PR titles (#415) 2026-05-22 08:02:23 +01:00
release.yml ci: add manual release workflow (#334) 2026-04-26 08:44:26 +01:00