From a00c73ac1db9bb9982e398306d052a29d2cd821c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Falc=C3=B3n?= Date: Fri, 22 May 2026 08:02:23 +0100 Subject: [PATCH] ci: enforce conventional PR titles (#415) ## Summary - add PR title workflow using semantic pull request action - allow conventional commit types used by release-it changelog generation ## Verification - parsed workflow YAML locally with Ruby --- .github/workflows/pr-title.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/pr-title.yml diff --git a/.github/workflows/pr-title.yml b/.github/workflows/pr-title.yml new file mode 100644 index 00000000..b57bf661 --- /dev/null +++ b/.github/workflows/pr-title.yml @@ -0,0 +1,34 @@ +name: PR title + +on: + pull_request: + types: [opened, edited, synchronize, reopened, ready_for_review] + +jobs: + semantic-pr-title: + name: Conventional PR title + runs-on: ubuntu-latest + permissions: + pull-requests: read + steps: + - name: Validate PR title + uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + types: | + feat + fix + chore + docs + style + refactor + perf + test + build + ci + revert + requireScope: false + subjectPattern: ^(?![A-Z]).+$ + subjectPatternError: | + Subject must not start with uppercase. Use: feat: add checkout, fix(billing): handle retry.