Descreva o bug
O comando auto shipit
alguma forma consegue ultrapassar o limite de taxa de API do GH ao tentar gerar um changelog pós-lançamento. (Veja as capturas de tela)
Reproduzir
Execute auto shipit
Para ter esse erro, você precisa ter um repositório que não tenha lançamentos, mas tenha muitos prs e commits, portanto, uma base de código essencialmente de alta velocidade.
Comportamento esperado
Uma nova versão é lançada com um changelog e lançamento.
Capturas de tela
Informações ambientais:
Environment Information:
"auto" version: v9.49.1
"git" version: v2.26.0
"node" version: v13.12.0
Project Information:
✔ Repository: project (https://github.com/username/project)
✔ Author Name: Paul Dariye
✔ Author Email: [email protected]
✔ Current Version: v0.0.23
✔ Latest Release: 0.0.1 (https://github.com/username/project/releases/tag/0.0.1)
✖ Labels configured on GitHub project (Try running "auto create-labels")
GitHub Token Information:
✔ Token: [Token starting with 76e5]
✔ Repo Permission: admin
✔ User: dariye
✔ API: undefined (undefined)
✔ Enabled Scopes: read:packages, repo, write:packages
✔ Rate Limit: 552/5000
Contexto adicional
Consegui contornar isso passando a bandeira --no-changelog
.
Rastreei o erro até esta linha de código https://github.com/intuit/auto/blob/d419b17f46638ebee68d125467891ac2e1d25304/packages/core/src/release.ts#L484
Alguma chance de eu ver o repo para brincar?
uau, são muitos pedidos
Além disso, se eu pudesse obter um registro mais completo, isso poderia ajudar
Foi realmente capaz de recriar localmente. Não preciso de nada de você além de esperança 😉
Nós criamos muitos pedidos semelhantes em semantic-release
e não atingimos o limite de abuso, não que eu saiba. Deve haver um tempo limite de 3s entre as solicitações que criam um comentário, você vê isso acontecendo em seus logs?
Apenas para ter certeza: você usa uma única instância do Octokit em todas essas solicitações?
Certeza de que estamos criando apenas 1.
Isso acontece aqui https://github.com/intuit/auto/blob/master/packages/core/src/git.ts#L123
que só deve ser inicializado uma vez na inicialização https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L1643
Eu posso verificar embora
Verificado: criado apenas uma vez
Para testar este problema no automóvel:
yarn
yarn build
yarn auto changelog --from v1.0.0 -d
Acho que isso está relacionado a https://github.com/octokit/plugin-throttling.js/issues/108, mas temos apenas 1 instância do octokit em execução, portanto, não precisamos agrupar
você faz alguma solicitação GraphQL?
Você pode confirmar se os registros "ultrapassou os limites de abuso" ocorrem a uma taxa de aproximadamente 1 a cada 3 segundos?
Ah, pode ser isso. usamos @ octokit / graphql, mas vi hoje que você pode fazer isso direto pelo octokit. vou tentar isso também
usamos @ octokit / graphql, mas eu vi hoje que você pode fazer isso direto através do octokit
Sim, dessa forma ele compartilha as mesmas configurações de solicitação e ganchos de ciclo de vida de solicitação
🙏
Ok, correndo agora. Ainda tenho uma hora no meu limite de taxa, mas ainda resta 😢
@hipstersmoothie, você pode usar nossa instância github se estiver acertando isso - estamos vendo a mesma coisa
Você pode me vincular ao log de construção?
Enviei a você o log de compilação, pois ele está em um repositório fechado.
@vincentbriglia Tenho quase certeza de que
Você poderia instalar a versão canário? Está tudo em um escopo diferente, então você terá que substituir todos os nomes de pacotes:
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
yarn add @auto-canary/[email protected]
@dariye Se você pudesse tentar fazer o teste também, eu agradeceria!
Tentei com
"@auto-canary/all-contributors": "9.49.2-canary.1424.17767.0",
"@auto-canary/auto": "9.49.2-canary.1424.17767.0",
"@auto-canary/conventional-commits": "9.49.2-canary.1424.17767.0",
"@auto-canary/first-time-contributor": "9.49.2-canary.1424.17767.0",
"@auto-canary/npm": "9.49.2-canary.1424.17767.0",
"@auto-canary/released": "9.49.2-canary.1424.17767.0",
ainda um problema com o github runner GITHUB_TOKEN
tentando com um token pessoal agora (eu vi algumas discrepâncias antes)
também não funcionou com um token pessoal.
Dei a você acesso ao repositório privado
Obrigado! Conseguiu resolver seu problema muito rápido. https://github.com/intuit/auto/pull/1424/commits/d6e7be20f17160d253298146b77648b408377890
Não acho que seja o mesmo problema que @dariye está tendo.
confirmou que isso corrigiu o problema que estava recebendo @hipstersmoothie - tenha um bom fim de semana!
no entanto @hipstersmoothie esta mudança agora parou de publicar e / ou calcular corretamente as versões do Semver.
Acho que auto
está se comportando conforme o esperado. Eu aludi a isso aqui . Isso ocorre porque o plug-in conventional
commits trata todas as mensagens de commit não sempre como skip-release
(ex: chore, docs, etc).
Este é o PR que o implementou https://github.com/intuit/auto/pull/1086
Você prefere que o plugin de commit convencional não faça isso? (por exemplo: não pule para doc / chore / etc)
@vincentbriglia Tenho quase certeza de que
Você poderia instalar a versão canário? Está tudo em um escopo diferente, então você terá que substituir todos os nomes de pacotes:
yarn add @auto-canary/[email protected] yarn add @auto-canary/[email protected] yarn add @auto-canary/[email protected] yarn add @auto-canary/[email protected] yarn add @auto-canary/[email protected]
@dariye Se você pudesse tentar fazer o teste também, eu agradeceria!
Vou testar hoje e retorno para você.
@hipstersmoothie ainda é um problema ao gerar um changelog.
Então, tudo parecia funcionar quando eu tinha o sinalizador --no-changelog. No entanto, eu o tirei e apenas tentamos usar auto shipit
no IC e ele falhou com o mesmo erro de acerto de limite de taxa.
@hipstersmoothie Eu adicionei um pouco mais de contexto ☝️
@hipstersmoothie muito obrigado por investigar isso. Acho que os lançamentos recentes corrigiram isso. Vou fechar isso. auto
está funcionando muito bem para nós agora. obrigado novamente
Comentários muito úteis
@vincentbriglia Tenho quase certeza de que
Você poderia instalar a versão canário? Está tudo em um escopo diferente, então você terá que substituir todos os nomes de pacotes:
@dariye Se você pudesse tentar fazer o teste também, eu agradeceria!