mirror of
https://github.com/ansible/awx.git
synced 2026-01-10 15:32:07 -03:30
* Adding GitHub check to ensure PRs have the proper X/Y/Z flags * Changing the Z release wording
46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
---
|
|
name: PR Check
|
|
env:
|
|
BRANCH: ${{ github.base_ref || 'devel' }}
|
|
on:
|
|
pull_request:
|
|
types: [opened, edited, reopened, synchronize]
|
|
jobs:
|
|
pr-check:
|
|
name: Scan PR description for semantic versioning keywords
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
packages: write
|
|
contents: read
|
|
steps:
|
|
- name: Write PR body to a file
|
|
run: |
|
|
cat >> pr.body << __SOME_RANDOM_PR_EOF__
|
|
${{ github.event.pull_request.body }}
|
|
__SOME_RANDOM_PR_EOF__
|
|
|
|
- name: Display the received body for troubleshooting
|
|
run: cat pr.body
|
|
|
|
# We want to write these out individually just incase the options were joined on a single line
|
|
- name: Check for each of the lines
|
|
run: |
|
|
grep "Bug, Docs Fix or other nominal change" pr.body > Z
|
|
grep "New or Enhanced Feature" pr.body > Y
|
|
grep "Breaking Change" pr.body > X
|
|
exit 0
|
|
# We exit 0 and set the shell to prevent the returns from the greps from failing this step
|
|
# See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
|
|
shell: bash {0}
|
|
|
|
- name: Check for exactly one item
|
|
run: |
|
|
if [ $(cat X Y Z | wc -l) != 1 ] ; then
|
|
echo "The PR body must contain exactly one of [ 'Bug, Docs Fix or other nominal change', 'New or Enhanced Feature', 'Breaking Change' ]"
|
|
echo "We counted $(cat X Y Z | wc -l)"
|
|
echo "See the default PR body for examples"
|
|
exit 255;
|
|
else
|
|
exit 0;
|
|
fi
|