# Check commit and PR compliance
name: Check commit message compliance
on:
  pull_request:
    types: [opened, synchronize, reopened]

jobs:
  check-commit-pr:
    name: Check commit and PR
    runs-on: ubuntu-20.04
    steps:
      - name: Check first line
        uses: gsactions/commit-message-checker@v1
        with:
          pattern: '^(feat|fix|test|bench|docs|chore|refactor|perf)\((compiler|backend|frontend|optimizer|tools|ci|common).*\): '
          flags: 'gs'
          error: 'Your first line has to contain a commit type and scope like "feat(my_feature): msg".'
          excludeDescription: 'true' # optional: this excludes the description body of a pull request
          excludeTitle: 'true' # optional: this excludes the title of a pull request
          checkAllCommitMessages: 'true' # optional: this checks all commits associated with a pull request
          accessToken: ${{ secrets.GITHUB_TOKEN }} # github access token is only required if checkAllCommitMessages is true
