From 30ca5ba5dd95f82d0bce5290ae236820526c54e3 Mon Sep 17 00:00:00 2001 From: Bernd Schubert Date: Wed, 1 Jan 2025 22:53:38 +0100 Subject: [PATCH] Add a github action to check for "Signed-off-by" Signed-off-by: Bernd Schubert --- .github/workflows/dco.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/dco.yml diff --git a/.github/workflows/dco.yml b/.github/workflows/dco.yml new file mode 100644 index 0000000..1a2121d --- /dev/null +++ b/.github/workflows/dco.yml @@ -0,0 +1,28 @@ +name: DCO Check (Developer Certificate of Origin) + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + check-dco: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-depth: 0 + - name: Check DCO + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} + run: | + echo "Checking DCO for PR #${{ github.event.pull_request.number }}" + commits=$(gh pr view ${{ github.event.pull_request.number }} --json commits --jq '.commits[].oid') + for commit in $commits + do + if ! git log --format='%B' -n 1 $commit | grep -q "Signed-off-by:"; then + echo "Commit $commit is missing Signed-off-by line" + exit 1 + fi + done + echo "All commits have Signed-off-by lines" -- 2.30.2