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

test(source-control): put the eval gh fixture on PATH without relying on zsh's .zshenv

已关闭
#7,176 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

已经有一个关联 PR 被合并了。

  • #7384 来自 @kyle-sexton —— 已合并

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
bash, github-actions, shell, zsh
领域
devtools, testing

调研方向

Start with plugins/source-control/evals/fixtures/gh-forge/install.sh and the case.yaml environment limits described in the issue; review the findings from #7164 and the runner capability options. The change depends on an upstream runner capability request and a kept-trace run on a bash-SHELL host. Done means ready cases reach gh pr ready through the stand-in and install.sh no longer writes ~/.zshenv.

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

描述

needs-human needs-triage

Context

Follow-up to #7164 (#6997). The owner accepted zsh-only coverage for the offline gh fixture so that PR could merge; this issue tracks the shell-independent fix.

Problem

plugins/source-control/evals/fixtures/gh-forge/install.sh puts the stand-in gh on PATH only by appending an export to the run's ~/.zshenv. On a host whose SHELL is bash (a default CI runner, for example), the stand-in is never on PATH: the run falls through to the real gh, which has no login inside the run and no network under the sandbox, so the ready cases stop at the PR lookup again.

Evidence from #7164 (Claude Code 2.1.296 probes):

  • A case cannot set PATH: case.yaml env keys are limited to EVAL_*.
  • The scaffold's HOME is the run's temporary home, and the eval run does not source ~/.zshrc, ~/.bashrc or ~/.profile: functions and variables defined there were missing from the run's Bash.
  • Only ~/.zshenv took effect, because zsh reads it on every zsh -c. That is undocumented runner behavior.
  • No run was made on a bash-SHELL host; the fall-through there is inferred from the above.

Ask

The clean fix needs a capability in claude plugin eval itself, for example:

  1. a case-level PATH prefix (a case.yaml key naming a directory under the scaffolded workspace to prepend), or
  2. a scaffold-written env file the runner applies to the run's shell.

This repository cannot add either; record the request upstream through the owner's normal channel, then switch gh-forge/install.sh to the new mechanism and drop the .zshenv append. An operator-level dispatcher gh on PATH (option 3 in #7164) works on any shell but adds a convention to every invocation; it stays the fallback if upstream declines.

Acceptance

  • The pull-request ready cases reach gh pr ready through the stand-in on a bash-SHELL host, shown by a kept-trace run.
  • install.sh no longer writes ~/.zshenv.

Related: #6997, #7164

主要语言
Shell
星标
22
派生
2
平均合并
8 小时 34 分钟
30 天内合并 PR
946

环境准备

  • 没有 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 摘要。