Public Access
Implements: DEVX-164 REQ-1..3 - get_vikunja_task_title retries list_project_tasks up to 4 attempts with backoff on APIError/RequestException — a Vikunja restart window (404/502) no longer strands an otherwise-valid PR - merge HTTP 405 now fetches PR reviews and, when no APPROVED review exists, explains the same-user self-approval rejection and the remediation (approve via a non-author account) - regression tests for retry-then-success, retry exhaustion, missing task, and all three 405 review states
1.3 KiB
1.3 KiB
DEVX-164: Increase HTTP 500 retry count and backoff for docker push
Problem
The HTTP 500 retry logic (DEVX-162, DEVX-163) works correctly — 3 retry attempts are made. But all 3 attempts fail because the Gitea registry's "offset mismatch" race condition needs more than ~15s to recover. The current backoff is 5s-20s with 3 attempts (total ~15s of waiting).
Approach
Increase retry count from 3 to 5 and backoff from 5-20s to 10-60s, giving the registry up to ~2 minutes to recover. Add visible logging between retry attempts so the CI logs show the retry happening.
REQ-1: Increase retry count from 3 to 5 REQ-2: Increase backoff from 5-20s to 10-60s exponential REQ-3: Add visible logging between retry attempts (click.echo) REQ-4: All tests pass with 100% coverage
Test Plan
- Unit tests verify retry count and backoff parameters
- Unit tests verify logging output on retry
- Manual: trigger build-images workflow and verify retries visible in logs
Deploy Plan
- Merge to master
Rollback Plan
- Revert the merge commit
Acceptance Criteria
- REQ-1: Increase retry count from 3 to 5
- REQ-2: Increase backoff from 5-20s to 10-60s exponential
- REQ-3: Add visible logging between retry attempts (click.echo)
- REQ-4: All tests pass with 100% coverage