Add CI infrastructure for pre-commit checks #8
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Commit Message Check" | |
on: | |
pull_request: | |
types: | |
- opened | |
- edited | |
- reopened | |
- synchronize | |
push: | |
branches: | |
- main | |
permissions: | |
contents: read | |
jobs: | |
check-commit-message: | |
name: Check Commit Message | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check Commit Prefix | |
uses: gsactions/commit-message-checker@16fa2d5de096ae0d35626443bcd24f1e756cafee # v2.0.0 | |
with: | |
pattern: "^(ENH|PERF|BUG|STYLE|DOC|COMP): ([A-Z])+" | |
flags: "gm" | |
excludeDescription: "true" # optional: this excludes the description body of a pull request | |
excludeTitle: "true" # optional: this excludes the title of a pull request | |
error: 'The first line has to start with a commit prefix, followed by a colon and space, and then followed by a message with a capital letter (e.g "ENH: Add support for awesome feature"). For more details on other requirements, see https://slicer.readthedocs.io/en/latest/developer_guide/style_guide.html#commits' | |
checkAllCommitMessages: "true" # optional: this checks all commits associated with a pull request | |
accessToken: ${{ secrets.GITHUB_TOKEN }} # github access token is only required if checkAllCommitMessages is true | |
- name: Check Line Length | |
uses: gsactions/commit-message-checker@16fa2d5de096ae0d35626443bcd24f1e756cafee # v2.0.0 | |
with: | |
pattern: "^[^#].{1,78}$" | |
error: "The maximum line length of 78 characters is exceeded. For more details, see https://slicer.readthedocs.io/en/latest/developer_guide/style_guide.html#commits" | |
excludeDescription: "true" # optional: this excludes the description body of a pull request | |
excludeTitle: "true" # optional: this excludes the title of a pull request | |
checkAllCommitMessages: "true" # optional: this checks all commits associated with a pull request | |
accessToken: ${{ secrets.GITHUB_TOKEN }} # github access token is only required if checkAllCommitMessages is true |