name: PR Conventional Commit Validation on: pull_request: types: [opened, synchronize, reopened, edited] jobs: validate-pr-title: runs-on: ubuntu-latest steps: - name: Validate PR title if: | !contains(github.event.pull_request.title, 'release') && !contains(github.event.pull_request.title, 'chore') uses: amannn/action-semantic-pull-request@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: # Configure that a scope must always be provided. requireScope: true # Configure allowed commit types types: | feat fix docs style refactor perf test build ci revert release chore # Configure additional validation for the subject based on a regex. # This example ensures the subject doesn't start with an uppercase character. subjectPattern: ^(?![A-Z]).+$ # If `subjectPattern` is configured, you can use this property to # override the default error message that is shown when the pattern # doesn't match. The variables `subject` and `title` can be used # within the message. subjectPatternError: | The subject "{subject}" found in the pull request title "{title}" didn't match the configured pattern. Please ensure that the subject doesn't start with an uppercase character.