diff --git a/.github/workflows/check-commit-msg.yml b/.github/workflows/check-commit-msg.yml new file mode 100644 index 0000000000..df7a153eab --- /dev/null +++ b/.github/workflows/check-commit-msg.yml @@ -0,0 +1,24 @@ +name: Check Commit Messages + +on: + pull_request: + + +jobs: + length: + name: Check that length of commit messages are <72 characters + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Fetch branch data from origin + run: git fetch origin + - run: | + COMMIT_MESSAGES=$(git log --combined --format=%s origin/$GITHUB_BASE_REF..HEAD) + echo $COMMIT_MESSAGES + for MESSAGE in $COMMIT_MESSAGES; do + LENGTH=$(echo $MESSAGE | wc -c) + if [ $LENGTH -gt 72 ]; then + echo "Commit message \"$MESSAGE\" is too long ($LENGTH characters). Please keep commit messages under 72 characters." + exit 1 + fi + done