Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

fix(flow): guard 的 `.github/` 禁改名单会拦下合法 CI 修复单——需要显式人工通道或策略例外

Aperta
#11 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github-actions, python
Ambito
ci-cd, tooling

Direzione di ricerca

Start in issue-keeper/flows/issue_pipeline_flow.py at the guard node: find where the sensitive-path blocklist hardcodes .github/ and how a plan's allowed paths are compared with the produced diff. Then read the triage stage that would route a ci-fix label or allow-paths: .github/workflows/ header, because the issue lists three options and none is chosen yet. Done means an issue touching .github/workflows/* closes end to end while an undeclared .github change still ends guarded — cover both as tests.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

场景 gap 单(okguitar 提报)· 优先级 P2 · 依赖:无 · 来源:ilink-hub #39 实战实证

基线:issue-pipeline v2.1.1(issue-keeper/flows/issue_pipeline_flow.py guard 节点)。

Summary

  • guard 的敏感路径禁改名单硬编码含 .github/(防注入 agent 篡改 CI 绕门禁,动机正当)——但CI 类修复单的修复对象恰恰是 .github/workflows/*。
  • 实证:ilink-hub #39(CI 加 RUST_TEST_THREADS=1)的 run 以 guarded 收尾:"越界文件为 .github/workflows/ci.yml,该文件不在本次计划允许修改的范围内,因此未被推送"(oversized=False,纯路径拦截)——实现已完成、测试全绿,只因目标文件在名单里而被拦。
  • 结果:这类单只能由值守手工落地(本次即如此),管线无法闭环;同时值守手工落地绕过了管线的三门评审(值不值得另说,但流程上不对称)。

影响

任何 CI/工作流类 issue(今天 ilink-hub 就出了两条:Deploy Docs 的 pnpm 修复、#39 的串行化)都无法由管线完成;值守能力之外无人能处理。

建议(选一)

  1. 显式通道:issue 侧支持标签/头部声明 ci-fix(或 allow-paths: .github/workflows/),guard 对其放行 *.github/workflows/**——其余 .github/** 仍拦;
  2. 或文档化"CI 单不再进管线、由值守手工处理"(现状转正),并在 triage 段直接路由;
  3. 折中:guard 拦下时自动把 diff 落成 patch 附在回评里,值守一句话即可应用。

验收

  • 构造一条需改 .github/workflows/* 的 issue,按选定方案可被管线或值守通道闭环,且绕门禁的注入场景仍被拦截(负向用例:未声明的 .github 修改依旧 guarded)。
Lingua principale
Python
Stelle
0
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di jeffkit/issue-keeper

Tutte le issue di jeffkit/issue-keeper

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.