chore: Migrate the remaining reporters onto report-job-failure #46
Labels
No labels
priority/P0
priority/P1
priority/P2
priority/P3
size/L
size/M
size/S
size/XL
size/XS
state/done
state/in-progress
state/in-review
state/needs-refinement
state/ready
type/bug
type/chore
type/feature
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
amtronics/platform-actions#46
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
report-job-failureexists and is released —v3now points at71fb9d5a(v3.7.0) and carries the action.#38migrated this repository's ownvalidateonto it, which proved equivalence; the other three consumers still run hand-copied reporters:Each copy is where the drift lives, and the drift is not hypothetical: two of the copies have already had the unreachable-fallback bug fixed separately (
ahmad/expiro#27, and this repository's own in #38), which is three independent fixes for one defect.Scope
uses: …/report-job-failure@v3, its captured log path passed through, and the comment it produces unchanged.teeunderpipefail, which an action cannot do for it.security-scan's internal capture, which exposeslog-pathand would become a consumer separately.Acceptance criteria
curlorjq, when the action runs, then either the image provides them or that consumer keeps its own reporter, decided explicitly rather than by accident.Notes
One pull request per repository. Three repositories in one change could not be reviewed or reverted as a unit, and two of them currently cannot get a green pipeline at all —
ahmad/expiro'simagejob has failed on the Docker Hub base-image pull seven times today, with two of its pull requests parked on exactly that. Expect expiro to be the slowest of the three and do not let it block the others.ahmad/imamahis the one to think about rather than copy. Itschecksjob container isnode:22-bookwormand its reporter posts through node's globalfetchprecisely becausecurlis not guaranteed there. Migrating it means either installingcurlandjqin that job or leaving it on its own reporter — the third criterion exists so that is a decision someone makes, not one that emerges from a failed run. The action guards both dependencies and exits 0 with a message, so the failure mode is legible either way, but a consumer that silently never posts is worth avoiding.Taking this, and stopping before the first migration — because the premise does not hold as written.
report-job-failurecannot post from any of the three consumers' images. It builds its body withjqand exits 0 without posting whenjqis missing.jqis absent fromnode:22-bookworm, which this repository already knows:release.ymlsays so in a comment and usesnodeinstead, deliberately.Migrating the three as written would silently disable all of them. This repository's own
validatehas already been a silent no-op since #38 merged — it just has not failed since, so nothing revealed it.Filed as #52, and it blocks this issue. I have not opened any migration PR.
Three corrections to this issue's inventory, all found by looking rather than by assuming:
ahmad/portfoliohas two reporters, not one.validatestep 10 ande2estep 6. Thee2eone runs inmcr.microsoft.com/playwright:v1.61.1-noble, a different image again, and needs its own answer to the third criterion.ahmad/imamah. Every inline reporter on the fleet — portfolio's two, expiro's two, imamah's one — posts throughnode -e, for the same reason. The issue frames imamah as the exception to think about; it is the rule.ahmad/expirois not the slowest consumer, it is the only one that has ever posted. Twenty failure comments, nineteen fromimageand one fromvalidate.portfolio,imamahand this repository have posted zero — not because they are broken, but because their jobs have not failed on a pull request. That is worth knowing before treating "it works in expiro" as evidence the pattern works.A near-miss worth recording, since it nearly became a false report: my first search for posted comments found zero everywhere, and I was about to report that the reporter had never worked at all. The search string was wrong — I had built it from the current
action.ymlwording rather than from a comment anyone had actually posted, and the real ones say "so it can be read without the run log". Constructing a search from the source rather than from observed output is how you confirm a thing that is not true.Suggested sequencing once #52 lands:
ahmad/portfoliofirst (two reporters, one of them on a third image, so it settles thee2equestion early), thenahmad/imamah, thenahmad/expirolast — its pull requests are already blocked on a redimagecheck for unrelated runner reasons.