mirror of
https://github.com/OpenListTeam/OpenList.git
synced 2026-10-10 04:53:09 +08:00
0463da4034
ci(github): enforce AI disclosures and lock invalid issues - Require exactly one AI disclosure option and a model name when AI is used - Comment, close, lock, and label issues invalid for missing or malformed AI disclosures or missing model names - Lock issues closed for unchanged placeholder titles - Lock issues closed for selecting the unread checklist option - Exclude AI disclosure options from unchecked task detection - Skip automatic checks for announcement titles - Update bilingual closure replies to mention locking and request a new issue - Split issue replies and PR title checks into separate workflows without changing PR title rules Signed-off-by: jyxjjj <16695261+jyxjjj@users.noreply.github.com> Co-authored-by: Codex <267193182+codex@users.noreply.github.com>
35 lines
1.5 KiB
YAML
35 lines
1.5 KiB
YAML
name: PR Title Check
|
|
|
|
on:
|
|
pull_request_target:
|
|
types: [opened]
|
|
|
|
permissions:
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
pr-title-check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check PR title for required prefix and comment
|
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
|
|
with:
|
|
script: |
|
|
const title = context.payload.pull_request.title;
|
|
if (/^(feat|docs|fix|style|refactor|chore)\(.+?\)!?: /i.test(title)) return;
|
|
const comment = `⚠️ PR 标题需以 \`feat(): \`, \`docs(): \`, \`fix(): \`, \`style(): \`, \`refactor(): \`, \`chore(): \` 其中之一开头,例如:\`feat(component): 新增功能\`。
|
|
⚠️ The PR title must start with \`feat(): \`, \`docs(): \`, \`fix(): \`, \`style(): \`, or \`refactor(): \`, \`chore(): \`. For example: \`feat(component): add new feature\`.
|
|
|
|
如果跨多个组件,请使用主要组件作为前缀,并在标题中枚举、描述中说明。
|
|
If it spans multiple components, use the main component as the prefix and enumerate in the title, describe in the body.
|
|
|
|
如果是破坏性变更,请在类型后添加 \`!\`,例如 \`feat(component)!: 破坏性变更\`。
|
|
For breaking changes, add \`!\` after the type, e.g., \`feat(component)!: breaking change\`.
|
|
|
|
`;
|
|
await github.rest.issues.createComment({
|
|
...context.repo,
|
|
issue_number: context.issue.number,
|
|
body: comment
|
|
});
|