Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

release: Homebrew tap stuck at v0.3.1 — publish job has no git identity, so the tap commit fails

Aberta
#1,388 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
75/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
git, github-actions, typescript
Domínio
ci-cd, devops, release

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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] with git -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.

Linguagem predominante
TypeScript
Estrelas
810
Forks
121
Merge médio
1d 13h
PRs com merge (30d)
63

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de AltimateAI/altimate-code

Todas as issues de AltimateAI/altimate-code

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.