fix: platform status stays in_progress - #86
Conversation
|
from afar i thought it makes sense to combine this with #57. what do you think? my idea would be to extract from https://github.com/ROCm/therock/blob/main/.github/workflows/multi_arch_release.yml from the inputs the following: and based on this and which archs are set we can then scope the expected pipelines "live". (expected is always all pipelines and all archs. its more used to disable the expectation) |
I would keep it separate, and make a follow up PR against #57. #88 stacked on top of this one |
Motivation
Fixes ROCm/Quartz#66: a platform's
summary.<platform>.statuscould already readfailurewhile other pipelines on that same platform (e.g.jax,native_packages) had not reported anything yet. The rollup precedence (failure > in_progress > cancelled > success > skipped) let one pipeline's terminal failure shortcut past sibling pipelines that were still genuinely in flight and could still pass or fail on their own, so the platform's reported verdict was premature.Technical Details
rollup_sibling_statuses()intherock_status_document.py_build_platform_summary()intherock_summary.pynow rolls each pipeline up to its own single status firstfailure/cancelledonce every expected sibling pipeline has reported a terminal status; until then it correctly staysin_progress.Test Plan
therock_summary_test.pycases that previously asserted the premature-failure behavior*_wins_once_every_sibling_is_terminal/*_drags_platform_once_siblings_are_terminal) verifyingfailurestill correctly wins once every sibling pipeline has reported terminally, so no coverage was lost.Test Result
pytest scripts/: 475 passedSubmission Checklist