From 4881d2040af9dab23b6d1e22a1a3eff18661bfde Mon Sep 17 00:00:00 2001 From: Paul Nothaft Date: Wed, 1 Jul 2026 09:38:34 +0200 Subject: [PATCH] ci: validate PR titles against Conventional Commits Release Please only recognizes Conventional Commit prefixes (feat:, fix:, ...). PRs merged with other conventions (gitmoji, free-form) are silently skipped, shipping changes with no version bump or changelog entry (see #707/#708). Fail such PRs early via amannn/action-semantic-pull-request. --- .github/workflows/pr-title-lint.yml | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/pr-title-lint.yml diff --git a/.github/workflows/pr-title-lint.yml b/.github/workflows/pr-title-lint.yml new file mode 100644 index 00000000..cd57a897 --- /dev/null +++ b/.github/workflows/pr-title-lint.yml @@ -0,0 +1,36 @@ +name: PR Title Lint + +# Release Please derives version bumps and the changelog from Conventional +# Commit prefixes (feat:, fix:, ...). PRs whose title/commits use other +# conventions (e.g. gitmoji) are silently ignored, so their changes ship +# without a version bump or a changelog entry. This check fails a PR whose +# title is not a valid Conventional Commit so the release stays automated. + +on: + pull_request_target: + types: [opened, edited, synchronize, reopened] + +permissions: + pull-requests: read + +jobs: + lint-pr-title: + runs-on: ubuntu-latest + steps: + - name: Validate PR title is a Conventional Commit + uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + types: | + feat + fix + perf + revert + docs + style + chore + refactor + test + build + ci