feat: Developer Certificate of Origin #17
1 changed files with 29 additions and 0 deletions
29
.forgejo/workflows/dco_checker.yml
Normal file
29
.forgejo/workflows/dco_checker.yml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
name: DCO checker
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [master]
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
name: DCO checker
|
||||||
|
runs-on: debian
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: DCO checker
|
||||||
|
run: |
|
||||||
|
commits=$(git rev-list origin/master..HEAD)
|
||||||
|
for commit in $commits; do
|
||||||
|
commit_subject=$(git show --quiet --format=%s $commit)
|
||||||
|
commit_sha=$(echo $commit | cut -c1-10)
|
||||||
|
echo "Checking commit $commit_sha \"$commit_subject\""
|
||||||
|
if ! git show --quiet --format=%B $commit | grep -q "Signed-off-by:"; then
|
||||||
|
author=$(git show --quiet --format=%an $commit)
|
||||||
|
echo "Commit $commit by $author is missing the 'Signed-off-by:' line"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "All commits have the 'Signed-off-by:' line."
|
Loading…
Reference in a new issue