Summary
In the current matrix CI workflow (PR #287), the Slack notification steps (Set Slack notify status / Notify Slack) are gated on matrix.arch == 'amd64' and evaluated entirely within the amd64 matrix leg. Because failure() in GitHub Actions is job-scoped, an arm64-only failure leaves the amd64 context unaffected — no Slack alert fires.
Expected behavior
Failures in any matrix architecture (amd64 or arm64) should trigger a Slack notification.
Suggested fix
Add a dedicated fan-in job (e.g., notify-slack) that:
needs the full matrix job (build-test-push).
- Runs with
if: always().
- Inspects
needs.build-test-push.result (or needs.*.result) to detect any failed architecture.
- Passes the aggregated publish/failure status to the Slack notify script once, replacing the per-leg notification logic.
References
Summary
In the current matrix CI workflow (PR #287), the Slack notification steps (
Set Slack notify status/Notify Slack) are gated onmatrix.arch == 'amd64'and evaluated entirely within the amd64 matrix leg. Becausefailure()in GitHub Actions is job-scoped, an arm64-only failure leaves the amd64 context unaffected — no Slack alert fires.Expected behavior
Failures in any matrix architecture (amd64 or arm64) should trigger a Slack notification.
Suggested fix
Add a dedicated fan-in job (e.g.,
notify-slack) that:needsthe full matrix job (build-test-push).if: always().needs.build-test-push.result(orneeds.*.result) to detect any failed architecture.References