diff --git a/.github/workflows/check-signed-off.yml b/.github/workflows/check-signed-off.yml index 35055809c4..0d2a917ccf 100644 --- a/.github/workflows/check-signed-off.yml +++ b/.github/workflows/check-signed-off.yml @@ -1,14 +1,26 @@ -name: Check signed commits in PR -on: pull_request_target +name: Check Signed-off Commits + + +on: + pull_request: + types: + - synchronize + - opened + - reopened jobs: - check-signed-commits: - name: Check signed commits in PR + check-signed-off: runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write + steps: - - name: Check signed commits in PR - uses: 1Password/check-signed-commits-action@v1 + - name: Checkout code + uses: actions/checkout@v3 + - name: Check signed-off commits + run: | + for commit in $(git log --pretty=format:"%h" $(git merge-base main {{ github.ref }})..{{ github.ref }}); do + if ! git log --format=%B -n 1 $commit | grep -q "^Signed-off-by: "; then + echo "Commit $commit is not signed off." + exit 1 + fi + done