Skip to content

Commit

Permalink
.github/workflows: fix non-collapsing CI status in PRs
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
danderson committed Feb 18, 2023
1 parent 3db894b commit 093139f
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -353,8 +353,7 @@ jobs:
GOARCH: ${{ matrix.goarch }}

notify_slack:
# Only notify slack for merged commits, not PR failures.
if: failure() && github.event_name == 'push'
if: always()
# Any of these jobs failing causes a slack notification.
needs:
- android
Expand All @@ -373,6 +372,14 @@ jobs:
runs-on: ubuntu-22.04
steps:
- 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
with:
payload: |
Expand Down

0 comments on commit 093139f

Please sign in to comment.