ladybird/.github/workflows/discord.yml
Idan Horowitz a0111f6a3e Meta: Enable pull_request_target context for the notify_discord action
While we did allow the notify_discord job to run inside the context,
we didnt ask github to run in that context. This commit also uses the
"action-wait-for-check" sub-action to ensure the posted build results
are accurate for pull requests (since the build workflow is done in a
separate context for PRs)
2021-04-13 15:51:44 +02:00

36 lines
1.9 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@890bf0671eeeac09faf19f57deb4397eeccc59aa
id: wait-for-tests
with:
token: ${{ secrets.GITHUB_TOKEN }}
excludedCheckName: "notify_discord"
ref: ${{ github.event.pull_request.head.sha || github.sha }}
timeoutSeconds: 1200
- 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:' }}"