name: commit-validation-pr on: [pull_request] permissions: contents: read jobs: check-commit-msg-length: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 with: fetch-depth: 0 - name: Check commit message length run: | git log ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }} | ( longlines=0 while IFS='' read -r line; do if [ "${#line}" -gt 78 ] ; then if echo "$line" | grep -q '^\s*https://\S*\s*$'; then echo "Ignoring long line with URL." else echo "Overlong line: ${line}" >&2 if echo "$line" | grep -q 'https://'; then echo "Put a long URL on a line by itself." fi longlines=$(( longlines + 1 )) fi fi done [ "${longlines}" -eq 0 ] )