Files
devx/docs/specs/DEVX-163-run-push-stdout-historical.md
T
Emil Simeonov 758dab9ddc
CI / validate (pull_request) Failing after 47s
CI / auto-merge (pull_request) Skipped
docs: add vikunja-tasks skill and skill validation tests, fix create-task docs
- Add vikunja-tasks: task create/query/close lifecycle
- New tests/unit/test_skills_validation.py: structure, make-target,
  file-ref checks + existence tests for all 8 skills; devx.mak targets
  resolved from src/devx/make/ (editable install)
- devx-workflow/spec-driven-development/testing-and-debugging: add
  When to Invoke + Prerequisites; fix broken create-task syntax
- Preserve colliding spec as DEVX-163-run-push-stdout-historical

Implements: REQ-1 REQ-2 REQ-3
2026-09-19 00:43:41 +02:00

1.2 KiB

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

  • 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