ladybird/.github/workflows/discord.yml

38 lines
2.0 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: 21600
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 doesn't 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:' }}"