Skip to content

step-security/conventional-pr-title-action

Repository files navigation

StepSecurity Maintained Conventional PR Title Action

Forked from: aslafy-z/conventional-pr-title-action

This is a GitHub Action that ensures your PR title matches the Conventional Commits spec.

This is helpful when you're using semantic-release with the Conventional Commits preset. When using the Squash and merge strategy, GitHub will suggest to use the PR title as the commit message. With this action you can validate that the PR title will lead to a correct commit message.

See Conventional Commits for sample titles.

Inputs

success-state

Optional. Description of the status check if validation succeeds.

Default: "Title follows the specification.".

failure-state

Optional. Description of the status check if validation fails.

Default: "Title does not follow the specification.".

context-name

Optional. Persistent status check context key.

Default: "conventional-pr-title".

preset

Optional. Conventional changelog preset.

Default: "conventional-changelog-conventionalcommits@5.0.0".

target-url

Optional. URL to be used when linking the "Details" in the actions overview.

Default: "https://www.conventionalcommits.org/en/v1.0.0/#summary".

Outputs

success

true if the validation succeed, false otherwise.

error

In case of an error (success=false), contains the error message for additional processing or usage in notifications.

Example usage

name: Check PR title

on:
  pull_request_target:
    types:
      - opened
      - reopened
      - edited
      - synchronize

jobs:
  lint:
    runs-on: ubuntu-latest
    permissions:
      statuses: write
    steps:
      - uses: step-security/conventional-pr-title-action@v3
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Note: Avoid using main ref, prefer to pin to a specific version.

Credits

All thanks goes to amannn's semantic-pull-request action.