Skip to content

This adds a commit message checker, which should fail on this commit … #31

This adds a commit message checker, which should fail on this commit …

This adds a commit message checker, which should fail on this commit … #31

Workflow file for this run

name: Commit messages check
on:
pull_request:
workflow_call:
jobs:
gitlint:
name: Check commit messages
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install dependencies
run: |
pip install --upgrade gitlint
- name: Lint git commit messages
shell: bash
# run the linter and tee the output to a file, this will make the check fail but allow us to use the results in summary
run: gitlint --commits origin/$GITHUB_BASE_REF.. 2>&1 | tee check_results.log
- name: Propegate Error Summary
if: always()
shell: bash
# put the output of the commit message linting into the summary for the job and in an environment variable
run: |

Check failure on line 26 in .github/workflows/CommitMessage.yml

View workflow run for this annotation

GitHub Actions / Commit messages check

Invalid workflow file

The workflow is not valid. .github/workflows/CommitMessage.yml (Line: 26, Col: 12): Unrecognized named-value: 'GITHUB_REPOSITORY'. Located at position 1 within expression: GITHUB_REPOSITORY
# Change the commit part of the log into a markdown link to the commit
sed -i "s/commit \([0-9a-f]\{7,40\}\)/[commit \1](https:\/\/github.com\/${{ GITHUB_REPOSITORY }}\/commits\/\1)/g" check_results.log
cat check_results.log >> "$GITHUB_STEP_SUMMARY"
echo "check_results<<###LINT_DELIMITER###" >> "$GITHUB_ENV"
echo "$(cat check_results.log)" >> "$GITHUB_ENV"
echo "###LINT_DELIMITER###" >> "$GITHUB_ENV"
# add a comment on the PR if the commit message linting failed
- name: Comment on PR
if: failure()
uses: marocchino/sticky-pull-request-comment@v2
with:
header: Commit Comment
message: |
```
⚠️ Commit Message Format Issues ⚠️
${{ env.check_results }}
```