aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/dco.yml31
1 files changed, 31 insertions, 0 deletions
diff --git a/.github/workflows/dco.yml b/.github/workflows/dco.yml
new file mode 100644
index 0000000..8e62a3b
--- /dev/null
+++ b/.github/workflows/dco.yml
@@ -0,0 +1,31 @@
+name: DCO check
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ dco:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ ref: ${{ github.event.after }}
+ - name: check Signed-off-by
+ run: |
+ __COMMIT_MSG="$(git log --format=%B -n 1 ${{ github.event.after }})"
+ if [[ ! ${__COMMIT_MSG} =~ "Signed-off-by:" ]]; then
+ __errmsg="::error ::Missing GCO sign-off
+ Please read the terms of Gentoo Certificate of Origin[1] and acknowledge them by adding a sign-off to all your commits.
+ [1] https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin"
+ __errmsg="${__errmsg//'%'/'%25'}"
+ __errmsg="${__errmsg//$'\n'/'%0A'}"
+ __errmsg="${__errmsg//$'\r'/'%0D'}"
+
+ echo "${__errmsg}"
+ exit 1
+ else
+ echo "::set-output name=dco::ok"
+ fi