diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index c65ab0a2a6f..f72db50af09 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -253,3 +253,31 @@ jobs: ${{ toJSON(github.event) }} ] EOF + + notify_discord: + needs: [build_and_test_serenity, build_and_test_lagom] + 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: + # Sets environment variable env.WORKFLOW_CONCLUSION to one of [neutral, success, skipped, cancelled, timed_out, action_required, failure] + # depending on result of all needs jobs + - uses: technote-space/workflow-conclusion-action@v2 + + # === NOTIFICATIONS === + + - name: Discord action notification + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + uses: Ilshidur/action-discord@0.3.0 + if: ${{ (github.event['pull_request'] && github.event['action'] == 'opened' && !(github.event['pull_request'] == 'draft')) || github.event['commits'] }} + + - name: Discord build result + 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: Ilshidur/action-discord@0.3.0 + if: ${{ (github.event['pull_request'] && github.event['action'] == 'opened' && !(github.event['pull_request'] == 'draft')) || github.event['commits'] }} + with: + args: "The build ${{ env.WORKFLOW_CONCLUSION == 'success' && 'passed :white_check_mark:' || 'failed :x:' }}"