name: "Pull Request Linter" on: pull_request_target: types: - opened - edited - synchronize jobs: pr-title: name: PR title runs-on: ubuntu-24.04 steps: - name: Validate conventional PR title uses: amannn/action-semantic-pull-request@v5 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 # Configure which scopes are allowed (newline-delimited). # These are regex patterns auto-wrapped in `^ $`. scopes: | dapi platform drive drive-abci dpp dashmate contract sdk strategy-tests simple-signer wallet-lib test-suite bench-suite release dash-spv requireScope: false # 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. # If the PR contains one of these newline-delimited labels, the # validation is skipped. If you want to rerun the validation when # labels change, you might want to use the `labeled` and `unlabeled` # event triggers in your workflow. ignoreLabels: | bot # For work-in-progress PRs you can typically use draft pull requests # from GitHub. However, private repositories on the free plan don't have # this option and therefore this action allows you to opt-in to using the # special "[WIP]" prefix to indicate this state. This will avoid the # validation of the PR title and the pull request checks remain pending. # Note that a second check will be reported if this is enabled. wip: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}