Add workflow to remind PR reviewers to also review the testing instructions. (#36918)
* Add workflow to remind PR reviewers to also review the testing instructions. * Update review-testing-instructions GitHub Actions workflow to also mentioning teams in the comment. * Update review-testing-instructions GitHub Actions workflow to find if the comment it posts was already posted and - in that case - update it instead of creating a new one. * Pin find-comment and create-or-update-comment thirdparty GitHub Actions to full length commit SHA instead of tag for better security.
This commit is contained in:
parent
4ae467af9e
commit
c3994e6f9d
|
@ -173,7 +173,7 @@ jobs:
|
||||||
return await script( { core } )
|
return await script( { core } )
|
||||||
|
|
||||||
- name: Find PR comment by github-actions[bot]
|
- name: Find PR comment by github-actions[bot]
|
||||||
uses: peter-evans/find-comment@v2
|
uses: peter-evans/find-comment@034abe94d3191f9c89d870519735beae326f2bdb
|
||||||
id: find-comment
|
id: find-comment
|
||||||
with:
|
with:
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
@ -181,7 +181,7 @@ jobs:
|
||||||
body-includes: Test Results Summary
|
body-includes: Test Results Summary
|
||||||
|
|
||||||
- name: Create or update PR comment
|
- name: Create or update PR comment
|
||||||
uses: peter-evans/create-or-update-comment@v2
|
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d
|
||||||
with:
|
with:
|
||||||
comment-id: ${{ steps.find-comment.outputs.comment-id }}
|
comment-id: ${{ steps.find-comment.outputs.comment-id }}
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
|
|
@ -219,7 +219,7 @@ jobs:
|
||||||
return await script( { core } )
|
return await script( { core } )
|
||||||
|
|
||||||
- name: Find PR comment by github-actions[bot]
|
- name: Find PR comment by github-actions[bot]
|
||||||
uses: peter-evans/find-comment@v2
|
uses: peter-evans/find-comment@034abe94d3191f9c89d870519735beae326f2bdb
|
||||||
id: find-comment
|
id: find-comment
|
||||||
with:
|
with:
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
@ -227,7 +227,7 @@ jobs:
|
||||||
body-includes: Test Results Summary
|
body-includes: Test Results Summary
|
||||||
|
|
||||||
- name: Create or update PR comment
|
- name: Create or update PR comment
|
||||||
uses: peter-evans/create-or-update-comment@v2
|
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d
|
||||||
with:
|
with:
|
||||||
comment-id: ${{ steps.find-comment.outputs.comment-id }}
|
comment-id: ${{ steps.find-comment.outputs.comment-id }}
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
name: Remind reviewers to also review the testing instructions.
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [review_requested]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
add-testing-instructions-review-comment:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- name: Get the username of requested reviewers
|
||||||
|
id: get_reviewer_username
|
||||||
|
run: |
|
||||||
|
# Retrieves the username of all reviewers and stores them in a comma-separated list
|
||||||
|
reviewers=$(echo '${{ toJson(github.event.pull_request.requested_reviewers[*].login) }}' | jq -r 'map("@\(.)") | join(", ")')
|
||||||
|
echo "REVIEWERS=$reviewers" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Get the name of requested teams
|
||||||
|
id: get_team_name
|
||||||
|
run: |
|
||||||
|
# Retrieves the name of all teams asked for review and stores them in a comma-separated list
|
||||||
|
teams=$(echo '${{ toJson(github.event.pull_request.requested_teams[*].slug) }}' | jq -r 'map("@woocommerce/\(.)") | join(", ")')
|
||||||
|
echo "TEAMS=$teams" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Find the comment by github-actions[bot] asking for reviewing the testing instructions
|
||||||
|
uses: peter-evans/find-comment@034abe94d3191f9c89d870519735beae326f2bdb
|
||||||
|
id: find-comment
|
||||||
|
with:
|
||||||
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
comment-author: 'github-actions[bot]'
|
||||||
|
body-includes: please make sure to review the testing instructions
|
||||||
|
|
||||||
|
- name: Create or update PR comment asking for reviewers to review the testing instructions
|
||||||
|
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d
|
||||||
|
with:
|
||||||
|
comment-id: ${{ steps.find-comment.outputs.comment-id }}
|
||||||
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
body: |
|
||||||
|
Hi ${{ env.REVIEWERS }}, ${{ env.TEAMS }}
|
||||||
|
|
||||||
|
Apart from reviewing the code changes, please make sure to review the testing instructions as well.
|
||||||
|
|
||||||
|
You can follow this guide to find out what good testing instructions should look like:
|
||||||
|
https://github.com/woocommerce/woocommerce/wiki/Writing-high-quality-testing-instructions
|
||||||
|
edit-mode: replace
|
Loading…
Reference in New Issue