feat: Simple bot protection that should elimiminate most of the spam on our forms #6914
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: "Lint PR" | |
on: | |
pull_request: | |
types: | |
- opened | |
- edited | |
- synchronize | |
pull_request_target: | |
types: | |
- opened | |
- edited | |
- synchronize | |
permissions: | |
pull-requests: write | |
jobs: | |
main: | |
name: Validate PR title | |
runs-on: ubuntu-latest | |
steps: | |
- uses: amannn/action-semantic-pull-request@v5 | |
id: lint_pr_title | |
with: | |
# Configure which types are allowed (newline-delimited). | |
# Default: https://github.com/commitizen/conventional-commit-types | |
types: | | |
feat | |
fix | |
docs | |
style | |
refactor | |
perf | |
test | |
build | |
ci | |
chore | |
revert | |
experimental | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- if: always() && (steps.lint_pr_title.outputs.error_message != null) | |
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. | |
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 }} | |
``` | |
<details> | |
<summary>Release types</summary> | |
- **feat** - A new feature | |
- **fix** - A bug fix | |
- **docs** - Documentation only changes | |
- **style** - Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | |
- **refactor** - A code change that neither fixes a bug nor adds a feature | |
- **perf** - A code change that improves performance | |
- **test** - Adding missing tests or correcting existing tests | |
- **build** - Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) | |
- **ci** - Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | |
- **chore** - Other changes that don't modify src or test files | |
- **revert** - Reverts a previous commit | |
- **experimental** - Flagged feature | |
</details> | |
# 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 | |
delete: true |