Files
ladybird/.github/workflows/discord.yml
Idan Horowitz 01e1466682 Meta: Include queued checks in the discord notification's checks filter
The previous filter would filter out queued checks as well, which would
result in erroneous build success notifications going out if github
started the discord notifications workflow before all other workflows.
2021-04-15 09:40:46 +02:00

38 lines
2.1 KiB
YAML

name: Discord notifications
on: [push, pull_request_target]
jobs:
notify_discord:
runs-on: ubuntu-20.04
if: always() && github.repository == 'SerenityOS/serenity' && (github.event_name == 'pull_request_target' || (github.event_name == 'push' && github.ref == 'refs/heads/master'))
steps:
- name: Wait for tests to finish
uses: IdanHo/action-wait-for-check@7b2192dd83108237d2f2e6518f6351be333a955c
id: wait-for-tests
if: ${{ (github.event['pull_request'] && github.event['action'] == 'opened' && !(github.event['pull_request'] == 'draft')) || github.event['commits'] }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
excludedCheckName: "notify_discord"
ref: ${{ github.event.pull_request.head.sha || github.sha }}
timeoutSeconds: 3600
intervalSeconds: 100
- name: Discord action notification
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
CUSTOM_GITHUB_EVENT_NAME: ${{ github.event_name == 'pull_request_target' && 'pull_request' || github.event_name }} # fake the event type as discord doesnt know how to parse the special pull_request_target context
uses: IdanHo/action-discord@754598254f288e6d8e9fca637832e3c163515ba8
if: ${{ (github.event['pull_request'] && github.event['action'] == 'opened' && !(github.event['pull_request'] == 'draft')) || github.event['commits'] }}
- name: Discord build status
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
DISCORD_USERNAME: GitHub # we have to set these manually for non-default messages
DISCORD_AVATAR: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png
uses: IdanHo/action-discord@754598254f288e6d8e9fca637832e3c163515ba8
if: ${{ (github.event['pull_request'] && github.event['action'] == 'opened' && !(github.event['pull_request'] == 'draft')) || github.event['commits'] }}
with:
args: "The build ${{ steps.wait-for-tests.outputs.conclusion == 'success' && 'passed :white_check_mark:' || 'failed :x:' }}"