mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-15 05:40:47 +08:00
ci(gate): align linked-issue-check with the slop review trust tier
linked-issue-check only exempted drafts and the no-issue-needed label, so member and collaborator PRs failed the linkage gate while the slop review itself skipped them via skip-roles (#7944). Skip OWNER, MEMBER, COLLABORATOR, and bot authors as well, reading the association from the event payload so the permission-free gate design holds. External contributors still need an issue reference.
This commit is contained in:
@@ -30,11 +30,19 @@ jobs:
|
|||||||
PR_BODY: ${{ github.event.pull_request.body }}
|
PR_BODY: ${{ github.event.pull_request.body }}
|
||||||
LABELS: ${{ join(github.event.pull_request.labels.*.name, ',') }}
|
LABELS: ${{ join(github.event.pull_request.labels.*.name, ',') }}
|
||||||
DRAFT: ${{ github.event.pull_request.draft }}
|
DRAFT: ${{ github.event.pull_request.draft }}
|
||||||
|
ASSOCIATION: ${{ github.event.pull_request.author_association }}
|
||||||
|
AUTHOR_TYPE: ${{ github.event.pull_request.user.type }}
|
||||||
run: |
|
run: |
|
||||||
if [ "$DRAFT" = "true" ] || printf '%s' "$LABELS" | grep -q 'no-issue-needed'; then
|
if [ "$DRAFT" = "true" ] || printf '%s' "$LABELS" | grep -q 'no-issue-needed'; then
|
||||||
echo "Draft or no-issue-needed; linkage check skipped."
|
echo "Draft or no-issue-needed; linkage check skipped."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
# OWNER/MEMBER/COLLABORATOR and bots mirror the slop review's
|
||||||
|
# skip-roles/skip-bots trust tier.
|
||||||
|
if [ "$AUTHOR_TYPE" = "Bot" ] || [ "$ASSOCIATION" = "OWNER" ] || [ "$ASSOCIATION" = "MEMBER" ] || [ "$ASSOCIATION" = "COLLABORATOR" ]; then
|
||||||
|
echo "Bot or trusted author ($ASSOCIATION); linkage check skipped."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
if printf '%s\n%s\n' "$PR_TITLE" "$PR_BODY" | grep -Eq '#[0-9]+|issues/[0-9]+'; then
|
if printf '%s\n%s\n' "$PR_TITLE" "$PR_BODY" | grep -Eq '#[0-9]+|issues/[0-9]+'; then
|
||||||
echo "Issue reference found."
|
echo "Issue reference found."
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user