Skip to content

suite: write dropped build reasons into dropped/REASONS.md - #171

Merged
patsypppe merged 1 commit into
patsypppe:mainfrom
abu-tahir-0:fix/85-drop-reasons
Nov 8, 2026
Merged

patsypppe merged 1 commit into
patsypppe:mainfrom
abu-tahir-0:fix/85-drop-reasons

Conversation

@abu-tahir-0

Copy link
Copy Markdown
Contributor

What this changes

Closes #85.

suite build-images --drop-failed moves a task whose image failed to build into dropped/, but the error only went to stderr. The command now keeps each failed task's error string while building and writes dropped/REASONS.md with a section per slug and the build-log tail, before moving the task files. The terminal output is unchanged.

How it was checked

  • make check passes (ruff, mypy --strict, unit tests) — except tests/unit/test_web_vectors.py, which fails identically on a clean main here (t_quantile differs in the last bit); unrelated.
  • New behaviour has a test at the cheapest tier that can catch it, including the case that should fail: test_a_dropped_task_leaves_its_reason_in_the_suite runs suite build-images --drop-failed with build_snapshot patched to raise, then asserts the task file moved to dropped/, REASONS.md names the slug, and the error tail is present. No Docker needed.
  • make integration / make e2e — not needed; the image build itself is unchanged and the new path is pure file I/O after a build failure.

Anything a reviewer should know

  • REASONS.md is rewritten by each --drop-failed run. A later run only lists tasks that run dropped, not the whole history; if you want an append-only log or JSON instead, say so and I will switch the format.
  • Errors are fenced as text blocks; a build log that itself contains a four-backtick run could break rendering. I can indent instead if that matters.

--drop-failed moved a failed task out of the suite but left the reason on stderr, where the next run cannot see it. Keep each task's build error while building and write dropped/REASONS.md with the slug and log tail. Covered by a CLI test with a fake failing build, so no Docker.
@patsypppe

Copy link
Copy Markdown
Owner

yes rewriting is fine i dont want to display everything in the history. I will approve the pr

@patsypppe
patsypppe merged commit 1c1f7dc into patsypppe:main Nov 8, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Record why a task's image was dropped

2 participants