Skip to content

Commit

Permalink
Add github action PR build for 5.1
Browse files Browse the repository at this point in the history
  • Loading branch information
mpfz0r committed Nov 27, 2023
1 parent 4eb453b commit 8395760
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/dispatch-pr-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Request dispatched PR Build

on:
pull_request:
types: [ opened, reopened, synchronize, edited ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
dispatchedPR:
name: Dispatch wait and check
runs-on: ubuntu-latest

steps:
- name: Check if PR edit changed deps string
if: ${{ github.event.action == 'edited' }}
id: pr-string-changed
continue-on-error: true
run: |
old_pr_string=$(grep -P '^/(jenkins-pr-deps|jpd|prd)' <<< "$OLD_PR_BODY" | \
grep -ioP '(Graylog2/\S+?#|https?://github.com/Graylog2/\S+?/pull/)[0-9]+' || true)
new_pr_string=$(grep -P '^/(jenkins-pr-deps|jpd|prd)' <<< "$NEW_PR_BODY" | \
grep -ioP '(Graylog2/\S+?#|https?://github.com/Graylog2/\S+?/pull/)[0-9]+' || true)
if [ "$old_pr_string" != "$new_pr_string" ]; then
echo "PR deps string change detected: \"$old_pr_string\" -> \"$new_pr_string\""
echo "Re-triggering PR build..."
exit 0
fi
exit 1
env:
OLD_PR_BODY: "${{ github.event.changes.body.from }}"
NEW_PR_BODY: "${{ github.event.pull_request.body }}"

- name: dispatch job to graylog-project-internal
if: ${{ github.event.action != 'edited' || steps.pr-string-changed.outcome == 'success' }}
run: >
gh workflow run -R Graylog2/graylog-project-internal pr-build.yml --ref master
-f caller_repo=${{ github.repository }}
-f caller_pr_nr=${{ github.event.number }}
-f caller_base_branch=${{ github.base_ref || github.ref_name }}
-f caller_head_branch=${{ github.head_ref }}
-f head_sha=${{ github.event.pull_request.head.sha }}
-f initial_actor="${{ github.actor }}/${{ github.triggering_actor }}"
env:
GITHUB_TOKEN: ${{ secrets.PAT_GRAYLOG_PROJECT_INTERNAL_WORKFLOW_RW }}

- name: Give dispatched build time to add its status
run: sleep 20
# This is mostly cosmetic. If this workflow finishes before the dispatched
# build creates the status on the PR, the build will show up green for a while.

0 comments on commit 8395760

Please sign in to comment.