Public Access
34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
# DEVX-163: Fix _run_push to check stdout for HTTP 500
|
|
|
|
## Problem
|
|
`_run_push` only checked `result.stderr` for HTTP 500, but docker push
|
|
sends the "received unexpected HTTP status: 500 Internal Server Error"
|
|
message to **stdout**, not stderr. This means the tenacity retry logic
|
|
added in DEVX-162 never triggered — the push failed immediately without
|
|
retrying.
|
|
|
|
## Approach
|
|
Check both `result.stdout` and `result.stderr` for the "500" status code.
|
|
Also update the "already exists" check in `push_image` to check both
|
|
streams, since docker may send that message to stdout as well.
|
|
|
|
REQ-1: _run_push checks both stdout and stderr for HTTP 500
|
|
REQ-2: push_image "already exists" check uses combined stdout+stderr
|
|
REQ-3: All existing tests pass with 100% coverage
|
|
|
|
## Test Plan
|
|
- Unit tests for stdout 500 detection
|
|
- Unit tests for stderr 500 detection
|
|
- Manual: trigger build-images workflow and verify retry works
|
|
|
|
## Deploy Plan
|
|
- Merge to master
|
|
|
|
## Rollback Plan
|
|
- Revert the merge commit
|
|
|
|
## Acceptance Criteria
|
|
- [x] REQ-1: _run_push checks both stdout and stderr for HTTP 500
|
|
- [x] REQ-2: push_image "already exists" check uses combined stdout+stderr
|
|
- [x] REQ-3: All existing tests pass with 100% coverage
|