-
Notifications
You must be signed in to change notification settings - Fork 2
59 lines (53 loc) · 2.19 KB
/
lint-pr.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
---
name: Lint PR
on:
workflow_call: {}
pull_request_target:
types:
- opened
- edited
- synchronize
permissions: {}
jobs:
pr-title-lint:
runs-on: ubuntu-latest
permissions:
pull-requests: write
statuses: write
steps:
- id: lint_pr_title
uses: amannn/action-semantic-pull-request@cfb60706e18bc85e8aec535e3c577abe8f70378e # v5.5.2
with:
# Ensure the subject doesn't start with an uppercase character.
subjectPattern: ^(?![A-Z]).+$
subjectPatternError: |
Please ensure the subject in the pull request title ("{subject}")
doesn't start with an uppercase character.
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2.9.0
# When the previous steps fail, the workflow would stop. By adding this
# condition you can continue the execution with the populated error message.
if: always() && (steps.lint_pr_title.outputs.error_message != null)
with:
header: pr-title-lint-error
# yamllint disable rule:line-length
message: |
Hey there and thank you for opening this pull request! :wave:
We require pull request titles to follow the
[Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/)
and it looks like your proposed title needs to be adjusted.
While the specification does not require a specific casing, it recommends being consistent.
We use the pull request title in automated release changelog updates, and would like our
changelogs to look nice.
Details:
```
${{ steps.lint_pr_title.outputs.error_message }}
```
# yamllint enable rule:line-length
# Delete a previous comment when the issue has been resolved
- if: ${{ steps.lint_pr_title.outputs.error_message == null }}
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2.9.0
with:
header: pr-title-lint-error
delete: true