49 lines
1.6 KiB
YAML
49 lines
1.6 KiB
YAML
name: "Validate PRs"
|
|
|
|
on:
|
|
pull_request_target:
|
|
types:
|
|
- opened
|
|
- reopened
|
|
- edited
|
|
- synchronize
|
|
|
|
permissions:
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
validate-pr:
|
|
name: Validate PR title
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: amannn/action-semantic-pull-request@v5
|
|
id: lint_pr_title
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- 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.
|
|
if: always() && (steps.lint_pr_title.outputs.error_message != null)
|
|
with:
|
|
header: pr-title-lint-error
|
|
message: |
|
|
Hey there and thank you for opening this pull request! 👋🏼
|
|
|
|
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.
|
|
|
|
Details:
|
|
|
|
```
|
|
${{ steps.lint_pr_title.outputs.error_message }}
|
|
```
|
|
|
|
# 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@v2
|
|
with:
|
|
header: pr-title-lint-error
|
|
message: |
|
|
Thank you for following the naming conventions! 🙏 Feel free to join our [discord](https://go.cal.com/discord) and post your PR link to [collect XP and win prizes!](https://cal.com/blog/community-incentives)
|
|
|