tet123/.github/workflows/sanity-check.yml

55 lines
2.4 KiB
YAML
Raw Normal View History

2020-06-26 16:14:35 +02:00
name: Commit message format check
on:
# ATTENTION: See https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
# re security implications of using this trigger; in particular, no code from PR branches must
# be executed in any flows triggered by it
pull_request_target:
branches:
- main
- 1.*
- 2.*
jobs:
build:
name: Commit message
runs-on: ubuntu-latest
steps:
- name: Commit messages in format DBZ-xxx
2021-09-16 05:58:11 +02:00
id: check
env:
2021-09-16 05:58:11 +02:00
pull_request_number: ${{ github.event.pull_request.number }}
github_repository: ${{ github.repository }}
run: |
COMMIT_MSGS=$(curl --silent -X "GET" https://api.github.com/repos/$github_repository/pulls/$pull_request_number/commits | jq '.[] | {message: .commit.message}' | jq '.message' | cut -c 2-)
NON_PREFIX_COMMITS=""
while IFS= read -r line ;
2021-09-16 05:58:11 +02:00
do
line=${line%\"}
echo "-> checking: $line"
if [[ ! $line =~ (^DBZ-[[:digit:]]+)|(\[release\])|(\[jenkins-jobs\])|(\[docs\])|(\[maven-release-plugin\])|(\[ci\]) ]]; then
NON_PREFIX_COMMITS="${NON_PREFIX_COMMITS} -> ${line} \n"
2021-09-16 05:58:11 +02:00
fi
done <<< "$COMMIT_MSGS"
if [[ $NON_PREFIX_COMMITS != "" ]]; then
echo "========================================================================"
echo " COMMIT MESSAGES WITH MISSING \"DBZ\" PREFIX"
echo "========================================================================"
echo -e "$NON_PREFIX_COMMITS"
echo "PREFIX_COMMITS=false" >> $GITHUB_OUTPUT
fi
- name: Create Comment
if: ${{ steps.check.outputs.PREFIX_COMMITS == 'false' }}
uses: peter-evans/create-or-update-comment@v1
with:
issue-number: ${{ github.event.pull_request.number }}
body: |
Hi @${{ github.event.pull_request.user.login }}, thanks for your contribution. Please prefix the commit message(s) with the [DBZ-xxx JIRA issue key](https://github.com/debezium/debezium/blob/main/CONTRIBUTE.md#making-changes).
- name: Check failure
if: ${{ steps.check.outputs.PREFIX_COMMITS == 'false' }}
uses: actions/github-script@v5
continue-on-error: false
with:
script: |
throw new Error('Commit has no DBZ-xxx prefiix')