release: Homebrew tap stuck at v0.3.1 — publish job has no git identity, so the tap commit fails
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 75/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- git, github-actions, typescript
调研方向
Start with packages/opencode/script/publish.ts and the publish-npm job in .github/workflows/release.yml; reproduce the Homebrew commit with no Git identity configured. Verify the commit, unchanged-formula behavior, and failure annotation, then confirm the tap update succeeds with the HOMEBREW_TAP_TOKEN. Done means a release updates the tap and failures remain visible without failing the release.
由索引模型根据 Issue 内容生成。
描述
AltimateAI/homebrew-tap still serves v0.3.1 (last updated 2026-03-15), so brew install AltimateAI/tap/altimate-code — the command the release notes give — installs a March build.
Cause. The Homebrew step in packages/opencode/script/publish.ts clones the tap, writes the new formula, then runs git commit. The publish-npm job in .github/workflows/release.yml never sets a git identity (the test job does), so the commit fails:
fatal: empty ident name (for <runner@…>) not allowed
Homebrew publish failed (non-fatal): ShellError: Failed with exit code 128
Seen in the Publish to npm log of every release checked, from v0.10.0 through v0.12.4 (e.g. v0.12.4). The step is non-fatal and only logs, so the release stays green and the failure went unnoticed. The formula it generates is otherwise correct: its download URLs match the assets attached to the v0.12.4 release.
Fix.
- Commit as
github-actions[bot]withgit -c user.name=… -c user.email=… commit, independent of the runner's config. - Skip the commit when the formula is unchanged, so re-running a release does not fail on an empty commit.
- Emit a
::error::annotation on failure so it shows on the run summary even though the step stays non-fatal.
A local reproduction with no git identity configured confirms the old command fails with the same error and the fixed one commits and pushes.
Also check before relying on it: the step has never reached git push, so it is unverified whether the HOMEBREW_TAP_TOKEN secret has write access to AltimateAI/homebrew-tap and has not expired. If not, the next release fails with a 403 instead.
Once fixed, the next release updates the tap; the current formula can also be pushed by hand to move brew users off v0.3.1 sooner.
- 主要语言
- TypeScript
- 星标
- 810
- 派生
- 121
- 平均合并
- 1 天 19 小时
- 30 天内合并 PR
- 57
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
AltimateAI/altimate-code 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
AltimateAI/altimate-code#1454 ·
维护者通常 1 天内回复
-
test: MCP tests fail when the developer's ~/.claude.json has MCP servers (HOME is not sandboxed)未关闭
难度 2/5 1-3 小时 新手友好度 78/100
AltimateAI/altimate-code#1386 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
AltimateAI/altimate-code#1384 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
AltimateAI/altimate-code#1323 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 86/100
AltimateAI/altimate-code#1288 ·
维护者通常 1 天内回复
查看 AltimateAI/altimate-code 的全部 Issue
相似的 Issue
-
难度 1/5 1-3 小时 新手友好度 70/100
siyuan-note/siyuan#20517 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
NaturalIntelligence/fast-xml-parser#890 · 1 条评论 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
zsviczian/obsidian-excalidraw-plugin#3000 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
pnpm/get.pnpm.io#68 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
nuxt-modules/better-auth#578 · 2 条评论 ·
维护者通常 1 天内回复