.github/workflows: fix non-collapsing CI status in PRs

CI status doesn't collapse into "everything OK" if a job gets
skipped. Instead, always run the job, but skip its only step in PRs.

Signed-off-by: David Anderson <danderson@tailscale.com>
pull/7321/head
David Anderson 2 years ago committed by Dave Anderson
parent 3db894b78c
commit 093139fafd

@ -353,8 +353,7 @@ jobs:
GOARCH: ${{ matrix.goarch }} GOARCH: ${{ matrix.goarch }}
notify_slack: notify_slack:
# Only notify slack for merged commits, not PR failures. if: always()
if: failure() && github.event_name == 'push'
# Any of these jobs failing causes a slack notification. # Any of these jobs failing causes a slack notification.
needs: needs:
- android - android
@ -373,6 +372,14 @@ jobs:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- name: notify - name: notify
# Only notify slack for merged commits, not PR failures.
#
# It may be tempting to move this condition into the job's 'if' block, but
# don't: Github only collapses the test list into "everything is OK" if
# all jobs succeeded. A skipped job results in the list staying expanded.
# By having the job always run, but skipping its only step as needed, we
# let the CI output collapse nicely in PRs.
if: failure() && github.event_name == 'push'
uses: ruby/action-slack@v3.0.0 uses: ruby/action-slack@v3.0.0
with: with:
payload: | payload: |

Loading…
Cancel
Save