Skip to content

ci: check PR titles with a workflow instead of the semantic-prs app - #2813

Merged
Snailedlt merged 2 commits into
devicons:developfrom
Snailedlt:ci/pr-title-check
Oct 28, 2026
Merged

Snailedlt merged 2 commits into
devicons:developfrom
Snailedlt:ci/pr-title-check

Conversation

@Snailedlt

@Snailedlt Snailedlt commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Prepared by Claude (an AI assistant) on behalf of @Snailedlt.

Double check these details before you open a PR

  • PR does not match another non-stale PR currently opened

Features

Every icon PR currently fails the Semantic PR check, even with a correct title like new icon: nx (original, line) (see #2794 or #2786). Conventional titles like fix: ... pass.

The semantic-prs app parses titles as conventional commits, where a type is a single word. So the new icon and update icon types in .github/semantic.yml can never match: the parser stops at the space.

This PR keeps the same rules but checks them with a small workflow, .github/workflows/pr_title.yml:

  • It runs actions/github-script (pinned to a commit SHA) and nothing third-party, with no token permissions (permissions: {}). The title is only read as data, never interpolated into ${{ }} or a shell, so it can't inject code.
  • It accepts new icon: <name> (<versions>), update icon: <name> (<versions>), and conventional-commit titles (feat, fix, docs, chore, ci, refactor, style, test, perf, build, revert, with an optional scope and !), as well as GitHub's Revert "..." titles.
  • The job is still called Semantic PR, so a required status check keeps working.
  • When a title is wrong, the job summary shows the expected formats with examples.
  • Editing the title re-runs the check.

.github/semantic.yml is deleted; the app should be uninstalled from the repo.

Notes

@ReenigneArcher, you set up the semantic-prs config in #2437 and #2767. Could you take a look, in case there's an app setting we missed that would make the icon types work?

🤖 Generated with Claude Code

The Ezard/semantic-prs app parses titles as conventional commits, whose
types are one word, so the configured 'new icon' / 'update icon' types
never match and every icon PR fails 'Semantic PR'. pr_title.yml checks
the same rules (plus the icon formats) with a few lines of github-script,
keeps the check name, and explains the expected format in the job summary.
semantic.yml now only turns the app off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Snailedlt
Snailedlt marked this pull request as draft October 28, 2026 12:15
@Snailedlt

Copy link
Copy Markdown
Collaborator Author

@ReenigneArcher please take a look :)

Comment thread .github/semantic.yml Outdated
Comment thread .github/workflows/pr_title.yml Outdated
Comment thread .github/workflows/pr_title.yml Outdated
Comment thread .github/workflows/pr_title.yml
Comment thread .github/workflows/pr_title.yml
Comment thread .github/workflows/pr_title.yml Outdated
- delete semantic.yml (the app gets uninstalled)
- run on ubuntu-latest
- pin github-script to a commit SHA
- show the title as text in the job summary
- drop the history comment

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Snailedlt
Snailedlt marked this pull request as ready for review October 28, 2026 17:43
@Snailedlt
Snailedlt requested review from a team, Yashh56, canaleal, lunatic-fox and weh and removed request for a team October 28, 2026 17:43

@Yashh56 Yashh56 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! ✔️

@Snailedlt
Snailedlt merged commit 54a1230 into devicons:develop Oct 28, 2026
8 checks passed
@Snailedlt
Snailedlt deleted the ci/pr-title-check branch October 28, 2026 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants