mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-14 01:01:27 +00:00
github: Add a GitHub action to run checkpatch upon pull request
Add a new GitHub Actions workflow, checkpatch_pull.yml, which runs checkpatch.pl for each commit in a pull request targeting the master branch. This change ensures proper checkpatch validation for both push and pull request events.
This commit is contained in:
47
.github/workflows/checkpatch_pull.yml
vendored
Normal file
47
.github/workflows/checkpatch_pull.yml
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
name: Checkpatch upon pull
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
checkpatch:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{github.event.pull_request.head.sha}}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Download checkpatch.pl
|
||||
run: |
|
||||
curl https://raw.githubusercontent.com/torvalds/linux/master/scripts/checkpatch.pl -o checkpatch.pl
|
||||
curl https://raw.githubusercontent.com/torvalds/linux/master/scripts/spelling.txt -o spelling.txt
|
||||
curl https://raw.githubusercontent.com/torvalds/linux/master/scripts/const_structs.checkpatch -o const_structs.checkpatch
|
||||
chmod +x checkpatch.pl
|
||||
|
||||
- name: Run checkpatch.pl
|
||||
run: |
|
||||
ignore=(
|
||||
MISSING_SIGN_OFF
|
||||
EMAIL_SUBJECT
|
||||
UNKNOWN_COMMIT_ID
|
||||
NO_AUTHOR_SIGN_OFF
|
||||
FILE_PATH_CHANGES
|
||||
SPDX_LICENSE_TAG
|
||||
LINUX_VERSION_CODE
|
||||
CONSTANT_COMPARISON
|
||||
SPACING
|
||||
)
|
||||
ignore_str=${ignore[*]}
|
||||
|
||||
base_commit=${{github.event.pull_request.base.sha}}
|
||||
commits=$(git log --pretty=format:"%h" $base_commit..HEAD)
|
||||
|
||||
for commit in $commits; do
|
||||
echo "Running checkpatch.pl for commit $commit"
|
||||
git format-patch -1 --stdout $commit | ./checkpatch.pl --no-tree --show-types --ignore="${ignore_str// /,}" -
|
||||
echo
|
||||
done
|
||||
Reference in New Issue
Block a user