Files
check-naming/action.yaml
T
architect 5749dfd238
test / test (pull_request) Successful in 4s
fix(check-naming): enforce tracking attribution
Authored-By: Codex (GPT-5.6) <noreply@openai.com>
2026-08-26 13:26:41 +00:00

52 lines
1.7 KiB
YAML

name: Check PR contract
description: |
Validates that a PR's branch, title, Bug tracking, and AI attribution
follow the fritzlab Git standard. Fails (exits 1) on any violation, with
FAIL log lines naming it. Warn-only wiring is the consumer's choice: set
continue-on-error: true on the job (or pin @v1, which never fails).
Standard:
branch: <role>/bug-<id>/<kebab> e.g. dev/bug-x7k2m9/fix-terminal-resize
chore: chore/<kebab> bug-less trivia only
title: [bug-<id>] Description (chore PRs: no [bug-id] prefix)
Role must be a roster handle: dev | ux | ops | security | perf | architect | support
Break-glass: PRs authored by dfritz are exempt.
inputs:
head-branch:
description: Head branch name — github.head_ref on pull_request events.
required: true
pr-title:
description: PR title — github.event.pull_request.title.
required: true
pr-author:
description: |
PR author login — github.event.pull_request.user.login.
dfritz is exempt from all checks.
required: false
default: ''
pr-body:
description: PR description — github.event.pull_request.body.
required: true
base-sha:
description: Base commit SHA — github.event.pull_request.base.sha.
required: true
head-sha:
description: Head commit SHA — github.event.pull_request.head.sha.
required: true
runs:
using: composite
steps:
- name: Validate naming
shell: bash
env:
HEAD_BRANCH: ${{ inputs.head-branch }}
PR_TITLE: ${{ inputs.pr-title }}
PR_AUTHOR: ${{ inputs.pr-author }}
PR_BODY: ${{ inputs.pr-body }}
BASE_SHA: ${{ inputs.base-sha }}
HEAD_SHA: ${{ inputs.head-sha }}
run: bash "${{ github.action_path }}/check.sh"