aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
authorSteven Arcangeli <stevearc@stevearc.com>2023-12-04 09:38:28 -0800
committerSteven Arcangeli <stevearc@stevearc.com>2023-12-04 09:38:45 -0800
commit9fb74bc74ea0955699534cd68267ed9528f18e4e (patch)
tree6e99e08855418803a093da1c3c77aa511f67b0ed /.github/workflows
parent5bf1405fd234d469243ea6f394e0aeec9ea53bd8 (diff)
ci: experiment with more issue/PR workflow automation
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/automation_remove_question_label_on_comment.yml (renamed from .github/workflows/automation.yml)2
-rw-r--r--.github/workflows/automation_request_changes_message.yml41
-rw-r--r--.github/workflows/automation_request_review.yml24
3 files changed, 66 insertions, 1 deletions
diff --git a/.github/workflows/automation.yml b/.github/workflows/automation_remove_question_label_on_comment.yml
index ad3afed..60c7dba 100644
--- a/.github/workflows/automation.yml
+++ b/.github/workflows/automation_remove_question_label_on_comment.yml
@@ -1,4 +1,4 @@
-name: Remove Label
+name: Remove Question Label on Issue Comment
on: [issue_comment]
diff --git a/.github/workflows/automation_request_changes_message.yml b/.github/workflows/automation_request_changes_message.yml
new file mode 100644
index 0000000..4484853
--- /dev/null
+++ b/.github/workflows/automation_request_changes_message.yml
@@ -0,0 +1,41 @@
+name: PR Request Changes Message
+on:
+ pull_request_review:
+ types: [submitted]
+
+jobs:
+ comment:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check Previous Reviews
+ id: check
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const pr = context.payload.pull_request;
+ const review = context.payload.review;
+ const reviews = await github.rest.pulls.listReviews({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ pull_number: pr.number,
+ });
+ const changesRequestedReviews = reviews.data.filter((review) => review.state === 'CHANGES_REQUESTED');
+ const firstTimeChangesRequested = changesRequestedReviews.length === 1;
+ return firstTimeChangesRequested;
+
+ - name: Comment on PR
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const runPreviousCheckStep = steps.check.outputs.result
+ const pr = context.payload.pull_request;
+ if (runPreviousCheckStep === 'true') {
+ github.rest.issues.createComment({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: pr.number,
+ body: 'Please make sure to **re-request review** after making any changes or answering any questions'
+ });
+ }
diff --git a/.github/workflows/automation_request_review.yml b/.github/workflows/automation_request_review.yml
new file mode 100644
index 0000000..998e64a
--- /dev/null
+++ b/.github/workflows/automation_request_review.yml
@@ -0,0 +1,24 @@
+name: Request Review
+on:
+ pull_request:
+ types: [opened, ready_for_review]
+
+jobs:
+ # Request review automatically when PRs are opened
+ request_review:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Request Review
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{secrets.GITHUB_TOKEN}}
+ script: |
+ const pr = context.payload.pull_request;
+ if (!pr.draft) {
+ github.rest.pulls.requestReviewers({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ pull_number: pr.number,
+ reviewers: ['stevearc']
+ });
+ }