2023-11-10 16:30:31 +00:00
name : "Conventional Commits"
2023-11-08 15:39:31 +00:00
on :
pull_request :
types :
- opened
- edited
- synchronize
jobs :
main :
2023-11-10 16:30:31 +00:00
name : Validate format
2023-11-08 15:39:31 +00:00
runs-on : ubuntu-latest
permissions :
pull-requests : write
steps :
- uses : amannn/action-semantic-pull-request@v5
2023-11-10 16:30:31 +00:00
id : lint_pr_title
2023-11-08 15:39:31 +00:00
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
2023-11-10 16:30:31 +00:00
- uses : richard-ramos/action-conventional-commits@v1.1.1
id : lint_pr_commits
2023-11-08 15:39:31 +00:00
- uses : marocchino/sticky-pull-request-comment@v2
# When the previous steps fails, the workflow would stop. By adding this
# condition you can continue the execution with the populated error message.
2023-11-10 16:30:31 +00:00
if : always() && (steps.lint_pr_title.outputs.error_message != null || steps.lint_pr_commits.outputs.error_message != null )
2023-11-08 15:39:31 +00:00
with :
header : pr-title-lint-error
message : |
2023-11-10 16:30:31 +00:00
Thank you for opening this pull request!
2023-11-08 15:39:31 +00:00
2023-11-10 16:30:31 +00:00
We require pull request titles and commits to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your PR needs to be adjusted.
2023-11-08 15:39:31 +00:00
Details :
> ${{ steps.lint_pr_title.outputs.error_message }}
2023-11-10 16:30:31 +00:00
> ${{ steps.lint_pr_commits.outputs.error_message }}
2023-11-08 15:39:31 +00:00
# Delete a previous comment when the issue has been resolved
2023-11-10 16:30:31 +00:00
- if : ${{ steps.lint_pr_title.outputs.error_message == null && steps.lint_pr_commits.outputs.error_message == null }}
2023-11-08 15:39:31 +00:00
uses : marocchino/sticky-pull-request-comment@v2
with :
header : pr-title-lint-error
2023-11-10 16:30:31 +00:00
delete : true