Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

fix(ci): ci-status's hold-lift window counts a removal made through an App

未关闭 适合新手
#9,520 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
82/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
github-actions, shell
领域
ci-cd, security

调研方向

从 .github/workflows/pr-require-checks.yml 第3587–3588行附近开始,阅读现有的 human-gated 标签移除过滤器。然后检查 scripts/ci-hold-human-gated.test.sh,或运行此工作流正文的测试。添加测试覆盖,证明由具有可信 id 的 App 执行的移除不会开启解除窗口,而由人员直接移除仍会开启解除窗口。

由索引模型根据 Issue 内容生成。

描述

needs-human status: needs-decision

Problem

ci-status's lift window (.github/workflows/pr-require-checks.yml:3587-3588) opens at the newest unlabeled event for the human-gated label whose actor id is on the trusted list. It does not check performed_via_github_app, so a removal an App made while acting for a listed person counts as that person's lift. The merge policy's own rule refuses App-made removals (babysit_merge_policy.py _class_removed_by_non_human), and #9512 applies it in pr-merge's escalation. Found by the security review on #9512.

Fix

Add and .performed_via_github_app == null to that select, with a case in scripts/ci-hold-human-gated.test.sh (or the test that runs this body) where an App-made removal by a listed id opens no window.

Done when

An App-made removal never opens the lift window, and a person's direct removal still does.

主要语言
Shell
星标
22
派生
2
平均合并
3 小时 42 分钟
30 天内合并 PR
938

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

melodic-software/claude-code-plugins 的其他 Issue

查看 melodic-software/claude-code-plugins 的全部 Issue

相似的 Issue

更多 Shell/Bash Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。