From dfc353354fd27618645e93bbbba8862d644e6919 Mon Sep 17 00:00:00 2001 From: liuhao2638 <2284903223@qq.com> Date: Tue, 14 Jul 2026 17:52:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[Execute=20Infrastructure]=20ci:=20?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=8F=90=E9=86=92=E6=96=87=E6=A1=88=20sneaxi?= =?UTF-8?q?y/From00=20=E7=94=B1=E2=80=9C=E5=92=8C=E2=80=9D=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E2=80=9C=E6=88=96=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/bot-approval-required.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bot-approval-required.yml b/.github/workflows/bot-approval-required.yml index 34160e465d..959b012ad6 100644 --- a/.github/workflows/bot-approval-required.yml +++ b/.github/workflows/bot-approval-required.yml @@ -85,7 +85,7 @@ jobs: echo "===================================================================" echo "本PR 尚未通过AI review机器人approve。" - echo "请研发同学按AI review机器人的review 意见修改代码并提交新的commit;或联系 ${HUMAN_APPROVER_1} 和 ${HUMAN_APPROVER_2} 进行 approve。" + echo "请研发同学按AI review机器人的review 意见修改代码并提交新的commit;或联系 ${HUMAN_APPROVER_1} 或 ${HUMAN_APPROVER_2} 进行 approve。" echo "" echo "评审意见处理要求(按优先级):" echo " - P0(阻塞):必须修复问题并提交新的 commit,仅回复不算解决。" @@ -93,5 +93,5 @@ jobs: echo " - P2(中):需针对评论进行回复(同意并已修改回复 Done,不同意请给出理由)。" echo " - P3(低):需针对评论进行回复(同意并已修改回复 Done,不同意请给出理由)。" echo "===================================================================" - echo "::error::本PR 尚未通过AI review机器人approve。请研发同学按AI review机器人的review 意见修改代码并提交新的commit(P0/P1 必须修复并提交新 commit;P2/P3 需针对评论回复);或联系 ${HUMAN_APPROVER_1} 和 ${HUMAN_APPROVER_2} 进行 approve。" + echo "::error::本PR 尚未通过AI review机器人approve。请研发同学按AI review机器人的review 意见修改代码并提交新的commit(P0/P1 必须修复并提交新 commit;P2/P3 需针对评论回复);或联系 ${HUMAN_APPROVER_1} 或 ${HUMAN_APPROVER_2} 进行 approve。" exit 1 From a9418849ff6fe95c44f97889914af80c0104205c Mon Sep 17 00:00:00 2001 From: liuhao2638 <2284903223@qq.com> Date: Tue, 14 Jul 2026 20:41:44 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[Execute=20Infrastructure]=20ci:=20?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=20pull=5Frequest=5Freview=20=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E5=99=A8=EF=BC=88=E5=90=8C=E6=AD=A5=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E4=BB=93=E5=BA=93=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/bot-approval-required.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/bot-approval-required.yml b/.github/workflows/bot-approval-required.yml index 959b012ad6..cd442f5ba3 100644 --- a/.github/workflows/bot-approval-required.yml +++ b/.github/workflows/bot-approval-required.yml @@ -17,12 +17,10 @@ name: Bot Approval Required # 合入门禁:满足以下任一条件本检查即通过(仅统计【当前 head commit】上的评审)—— # 1) AI review 机器人 risemeup1111 对当前 head commit 提交了 APPROVED 评审;或 # 2) sneaxiy 或 From00 任意一个账号对当前 head commit 提交了 APPROVED 评审。 -# 评审提交/修改/撤销或推送新 commit 时自动复检;旧 commit 上的审批在 push 新提交后自动失效。 +# 评审后推送新 commit(synchronize)或重开 PR 时自动复检;旧 commit 上的审批在 push 新提交后自动失效。 on: pull_request: types: [opened, synchronize, reopened] - pull_request_review: - types: [submitted, edited, dismissed] permissions: contents: read From 81922e1456c70521491de92e700a84eec6af27e0 Mon Sep 17 00:00:00 2001 From: liuhao2638 <2284903223@qq.com> Date: Wed, 22 Jul 2026 16:45:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[Execute=20Infrastructure]=20ci:=20PaddleFl?= =?UTF-8?q?eet=20=E5=90=8C=E6=AD=A5=20check-bypass=20=E5=A4=8D=E7=94=A8=20?= =?UTF-8?q?workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/bot-approval-required.yml | 55 ++++++++++----------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/.github/workflows/bot-approval-required.yml b/.github/workflows/bot-approval-required.yml index cd442f5ba3..a9d2503d59 100644 --- a/.github/workflows/bot-approval-required.yml +++ b/.github/workflows/bot-approval-required.yml @@ -1,23 +1,10 @@ -# Copyright (c) 2025 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - name: Bot Approval Required # 合入门禁:满足以下任一条件本检查即通过(仅统计【当前 head commit】上的评审)—— # 1) AI review 机器人 risemeup1111 对当前 head commit 提交了 APPROVED 评审;或 -# 2) sneaxiy 或 From00 任意一个账号对当前 head commit 提交了 APPROVED 评审。 -# 评审后推送新 commit(synchronize)或重开 PR 时自动复检;旧 commit 上的审批在 push 新提交后自动失效。 +# 2) APPROVERS 名单中任意一个账号对当前 head commit 提交了 APPROVED 评审。 +# 推送新 commit(synchronize)或重开 PR 时自动复检;旧 commit 上的审批在 push 新提交后自动失效。 +# CI 团队成员可通过 check-bypass(skip-ci label / 评论)豁免本检查。 on: pull_request: types: [opened, synchronize, reopened] @@ -29,13 +16,23 @@ permissions: env: # AI review 机器人的 GitHub login。 REQUIRED_BOT_LOGIN: risemeup1111 - # 机器人未 approve 时,任意一个账号 approve 即可放行的审批账号。 - HUMAN_APPROVER_1: sneaxiy - HUMAN_APPROVER_2: From00 + # 机器人未 approve 时,名单中任意一个账号 approve 即可放行(空格分隔)。 + APPROVERS: "sneaxiy From00" jobs: + check-bypass: + name: Check bypass + if: ${{ github.repository_owner == 'PaddlePaddle' }} + uses: ./.github/workflows/check-bypass.yml + with: + workflow-name: 'bot-approval-required' + secrets: + github-token: ${{ secrets.GITHUB_TOKEN }} + check-bot-approval: name: Require review-bot approval + needs: [check-bypass] + if: ${{ needs.check-bypass.outputs.can-skip != 'true' }} runs-on: ubuntu-latest steps: - name: Verify approval status @@ -67,23 +64,21 @@ jobs: ' } - bot_state=$(latest_state "${REQUIRED_BOT_LOGIN}") - approver1_state=$(latest_state "${HUMAN_APPROVER_1}") - approver2_state=$(latest_state "${HUMAN_APPROVER_2}") - - if [ "${bot_state}" = "APPROVED" ]; then + if [ "$(latest_state "${REQUIRED_BOT_LOGIN}")" = "APPROVED" ]; then echo "::notice::AI review 机器人 ${REQUIRED_BOT_LOGIN} 已 approve,本 PR 通过审批门禁。" exit 0 fi - if [ "${approver1_state}" = "APPROVED" ] || [ "${approver2_state}" = "APPROVED" ]; then - echo "::notice::${HUMAN_APPROVER_1} / ${HUMAN_APPROVER_2} 中已有账号 approve,本 PR 通过审批门禁。" - exit 0 - fi + for u in ${APPROVERS}; do + if [ "$(latest_state "$u")" = "APPROVED" ]; then + echo "::notice::审批账号 ${u} 已 approve,本 PR 通过审批门禁。" + exit 0 + fi + done echo "===================================================================" echo "本PR 尚未通过AI review机器人approve。" - echo "请研发同学按AI review机器人的review 意见修改代码并提交新的commit;或联系 ${HUMAN_APPROVER_1} 或 ${HUMAN_APPROVER_2} 进行 approve。" + echo "请研发同学按AI review机器人的review 意见修改代码并提交新的commit;或联系审批账号(${APPROVERS})中任一人进行 approve。" echo "" echo "评审意见处理要求(按优先级):" echo " - P0(阻塞):必须修复问题并提交新的 commit,仅回复不算解决。" @@ -91,5 +86,5 @@ jobs: echo " - P2(中):需针对评论进行回复(同意并已修改回复 Done,不同意请给出理由)。" echo " - P3(低):需针对评论进行回复(同意并已修改回复 Done,不同意请给出理由)。" echo "===================================================================" - echo "::error::本PR 尚未通过AI review机器人approve。请研发同学按AI review机器人的review 意见修改代码并提交新的commit(P0/P1 必须修复并提交新 commit;P2/P3 需针对评论回复);或联系 ${HUMAN_APPROVER_1} 或 ${HUMAN_APPROVER_2} 进行 approve。" + echo "::error::本PR 尚未通过AI review机器人approve。请研发同学按AI review机器人的review 意见修改代码并提交新的commit(P0/P1 必须修复并提交新 commit;P2/P3 需针对评论回复);或联系审批账号(${APPROVERS})中任一人进行 approve。" exit 1