Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions .github/workflows/multi_arch_build_portable_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,10 @@ jobs:
# ==========================================================================
libraries_baseline_ready:
name: "Libraries Baseline Ready"
if: always()
# No `if:` on purpose: GitHub skips a job whose `needs:` did not all
# succeed, and bump_automation.py rejects any conclusion but "success", so
# skipping rejects the baseline without failing the calling job and the
# test matrix behind it.
needs:
[
runtime-tests,
Expand All @@ -442,12 +445,8 @@ jobs:
]
runs-on: ubuntu-24.04
steps:
- name: Require reused stages to have succeeded
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
run: |
echo "One or more stages rocm-libraries reuses via baseline_run_id did not succeed:"
echo '${{ toJSON(needs) }}'
exit 1
- name: Report reused stage results
run: echo '${{ toJSON(needs) }}'

notify_quartz_completed:
if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }}
Expand Down
10 changes: 3 additions & 7 deletions .github/workflows/multi_arch_build_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -242,16 +242,12 @@ jobs:
# ==========================================================================
libraries_baseline_ready:
name: "Libraries Baseline Ready"
if: always()
# Skipped rather than failed; see the Linux copy for why.
needs: [runtime-tests, debug-tools, media-libs]
runs-on: ubuntu-24.04
steps:
- name: Require reused stages to have succeeded
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
run: |
echo "One or more stages rocm-libraries reuses via baseline_run_id did not succeed:"
echo '${{ toJSON(needs) }}'
exit 1
- name: Report reused stage results
run: echo '${{ toJSON(needs) }}'

notify_quartz_completed:
if: ${{ always() && vars.NOTIFY_QUARTZ_ENABLED == 'true' }}
Expand Down
10 changes: 10 additions & 0 deletions build_tools/github_actions/tests/bump_automation_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,16 @@ def test_false_when_gate_job_conclusion_is_missing(self):
_baseline_gate_jobs_succeeded("ROCm/TheRock", "token", 111)
)

def test_false_when_the_gate_job_was_skipped(self):
# Skipping is how the gate reports a reused stage that did not succeed,
# so this is the primary rejection path rather than an edge case.
with patch(
"bump_automation.gh_api", return_value=_jobs_page([_gate_job("skipped")])
):
self.assertFalse(
_baseline_gate_jobs_succeeded("ROCm/TheRock", "token", 111)
)


class GetBaselineRunIdFromMergedPrTest(unittest.TestCase):
MERGE_SHA = "df3d451a3c054e14705ddf94e58498e1208df8d5"
Expand Down
Loading