mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
a8ca4751b9
The previous version unfortunately didn't work for that workflow type if the author of the PR did not already have write access to the repo.
54 lines
2.1 KiB
YAML
54 lines
2.1 KiB
YAML
name: Commit linter
|
|
|
|
on: [pull_request_target]
|
|
|
|
jobs:
|
|
lint_commits:
|
|
runs-on: ubuntu-20.04
|
|
if: always() && github.repository == 'SerenityOS/serenity'
|
|
|
|
steps:
|
|
- name: Get PR Commits
|
|
id: 'get-pr-commits'
|
|
uses: IdanHo/get-pr-commits@d94b66d146a31ef91e54a2597dee4fb523157232
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Check linebreaks
|
|
if: ${{ success() || failure() }}
|
|
uses: tim-actions/commit-message-checker-with-regex@v0.3.1
|
|
with:
|
|
commits: ${{ steps.get-pr-commits.outputs.commits }}
|
|
pattern: '^[^\r]*$'
|
|
error: 'Commit message contains CRLF line breaks (only unix-style LF linebreaks are allowed)'
|
|
|
|
- name: Check Line Length
|
|
uses: tim-actions/commit-message-checker-with-regex@v0.3.1
|
|
with:
|
|
commits: ${{ steps.get-pr-commits.outputs.commits }}
|
|
pattern: '^.{0,72}(\n.{0,72})*$'
|
|
error: 'Commit message lines are too long (maximum allowed is 72 characters)'
|
|
|
|
- name: Check subsystem
|
|
if: ${{ success() || failure() }}
|
|
uses: tim-actions/commit-message-checker-with-regex@v0.3.1
|
|
with:
|
|
commits: ${{ steps.get-pr-commits.outputs.commits }}
|
|
pattern: '^\S.*?: .+'
|
|
error: 'Missing category in commit title (if this is a fix up of a previous commit, it should be squashed)'
|
|
|
|
- name: Check title
|
|
if: ${{ success() || failure() }}
|
|
uses: tim-actions/commit-message-checker-with-regex@v0.3.1
|
|
with:
|
|
commits: ${{ steps.get-pr-commits.outputs.commits }}
|
|
pattern: '^.+[^.\n](\n.*)*$'
|
|
error: 'Commit title ends in a period'
|
|
|
|
- name: Comment on PR
|
|
if: ${{ failure() }}
|
|
uses: IdanHo/comment-on-pr@5f51df338210754f519f721f8320d8f72525a4d0
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.BUGGIEBOT }}
|
|
with:
|
|
msg: "One or more of the commits in this PR do not match the [code submission policy](https://github.com/SerenityOS/serenity/blob/master/CONTRIBUTING.md#code-submission-policy), please check the `lint_commits` CI job for more details."
|