Skip to content

Commit

Permalink
add workflow to approve actions on PR change
Browse files Browse the repository at this point in the history
If external contributor adds a PR, and a member /ok-to-test it, GH
actions do not run until approved by an approver. This approval needs
to be given if the PR content changes, so it inconveniences the
contributor but also the approver.

This PR approves workflows, if ok-to-test label is present.

Adapted from CAPI workflow:
https://github.com/kubernetes-sigs/cluster-api/blob/main/.github/workflows/pr-gh-workflow-approve.yaml

Signed-off-by: Tuomo Tanskanen <[email protected]>
  • Loading branch information
tuminoid committed Apr 5, 2024
1 parent d8007f2 commit b525355
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/pr-gh-workflow-approve.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# adapted from github.com/kubernetes-sigs/cluster-api/.github/workflows/pr-gh-workflow-approve.yaml
# this workflow approves workflows if the PR has /ok-to-test
# related Prow feature request https://github.com/kubernetes/test-infra/issues/25210

name: Approve GH Workflows

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

jobs:
approve:
name: Approve on ok-to-test
runs-on: ubuntu-latest

permissions:
actions: write

if: contains(github.event.pull_request.labels.*.name, 'ok-to-test')
steps:
- name: Update PR
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
continue-on-error: true
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const result = await github.rest.actions.listWorkflowRunsForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
event: "pull_request",
status: "action_required",
head_sha: context.payload.pull_request.head.sha,
per_page: 100
});
for (var run of result.data.workflow_runs) {
await github.rest.actions.approveWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: run.id
});
}

0 comments on commit b525355

Please sign in to comment.