DĂ©crivez le bogue
La commande auto shipit
parvient d'une maniÚre ou d'une autre à dépasser la limite de débit de l'API de GH lorsqu'elle tente de générer une publication aprÚs la publication du journal des modifications. (Voir captures d'écran)
Reproduire
Courir auto shipit
Pour avoir cette erreur, vous devez avoir un référentiel qui n'a pas de versions mais qui a beaucoup de nombreux prs et commits, donc essentiellement une base de code à haute vitesse.
Comportement prévisible
Une nouvelle version est publiée avec un journal des modifications et une version.
Captures d'Ă©cran
Informations environnementales :
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
Contexte supplémentaire
J'ai pu contourner ce problĂšme en passant le drapeau --no-changelog
.
J'ai tracé l'erreur jusqu'à cette ligne de code https://github.com/intuit/auto/blob/d419b17f46638ebee68d125467891ac2e1d25304/packages/core/src/release.ts#L484
Y a-t-il une chance que je puisse voir le repo pour jouer avec ?
wow ça fait beaucoup de demandes
Aussi, si je pouvais obtenir un journal plus complet qui pourrait aider
Ătait en fait capable de recrĂ©er localement. Je n'ai besoin de rien de ta part d'autre que de l'espoir
Nous créons beaucoup de demandes similaires dans semantic-release
, et nous n'avons pas atteint la limite d'abus, pas que je sache. Il devrait y avoir un délai d'attente de 3 secondes entre les demandes qui créent un commentaire, voyez-vous cela se produire dans vos journaux ?
Juste pour ĂȘtre sĂ»r : utilisez-vous une seule instance Octokit pour toutes ces requĂȘtes ?
Je suis presque sûr que nous ne créons que 1.
Cela se passe ici https://github.com/intuit/auto/blob/master/packages/core/src/git.ts#L123
qui ne doit ĂȘtre initialisĂ© qu'une seule fois au dĂ©marrage https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L1643
je peux vĂ©rifier quand mĂȘme
Vérifié : créé une seule fois
Pour tester ce problÚme en automatique :
yarn
yarn build
yarn auto changelog --from v1.0.0 -d
Je pense que cela est lié à https://github.com/octokit/plugin-throttling.js/issues/108 mais nous n'avons qu'une instance d'octokit en cours d'exécution, nous ne devrions donc pas avoir besoin de cluster
faites-vous des requĂȘtes GraphQLÂ ?
Pouvez-vous confirmer que vous voyez les journaux "dépasser les limites d'abus" se produire à un taux d'environ 1 toutes les 3 secondes ?
Ah c'est peut-ĂȘtre ça. nous utilisons @octokit/graphql mais j'ai vu aujourd'hui que vous pouvez le faire directement via octokit. va essayer ça aussi
nous utilisons @octokit/graphql mais j'ai vu aujourd'hui que vous pouvez le faire directement via octokit
Oui, de cette façon, il partage les mĂȘmes paramĂštres de demande et les mĂȘmes crochets de cycle de vie de demande
đ
D'accord en cours d'exĂ©cution maintenant. Il me reste une heure sur mon taux d'attente limite đą
@hipstersmoothie, vous pouvez utiliser notre instance github si vous rencontrez cela - nous voyons la mĂȘme chose
Pouvez-vous me lier au journal de construction?
Je vous ai envoyé le journal de construction, car il s'agit d'un dépÎt fermé.
@vincentbriglia Je suis presque sûr d'avoir résolu le problÚme dans vos journaux en #1424
Pourriez-vous installer la version Canary ? Tout est sous une portée différente, vous devrez donc remplacer tous les noms de package :
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 Si vous pouviez essayer de tester aussi, je l'apprécierais !
Essayé avec
"@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",
toujours un problĂšme avec le github runner GITHUB_TOKEN
essayer avec un jeton personnel maintenant (j'ai déjà vu quelques écarts)
ne fonctionnait pas non plus avec un jeton personnel.
Je vous ai donné accÚs au dépÎt privé
Merci! A pu résoudre votre problÚme assez rapidement. https://github.com/intuit/auto/pull/1424/commits/d6e7be20f17160d253298146b77648b408377890
Je ne pense pas que ce soit le mĂȘme problĂšme que @dariye .
a confirmé que cela réglait le problÚme que j'avais
cependant @hipstersmoothie ce changement a maintenant cessé de publier et/ou de calculer correctement les versions de semver.
Je pense que auto
se comporte comme prévu. J'y ai fait allusion ici . C'est parce que le plugin conventional
commits traite tous les messages de commit non-semver comme skip-release
(ex: corvée, docs, etc.).
C'est le PR qui l'a mis en Ćuvre https://github.com/intuit/auto/pull/1086
Préféreriez-vous que le plugin de commit conventionnel ne le fasse pas ? (par exemple : ne pas sauter pour la doc/la corvée/etc)
@vincentbriglia Je suis presque sûr d'avoir résolu le problÚme dans vos journaux en #1424
Pourriez-vous installer la version Canary ? Tout est sous une portée différente, vous devrez donc remplacer tous les noms de package :
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 Si vous pouviez essayer de tester aussi, je l'apprécierais !
Je teste ça aujourd'hui et je reviens vers vous.
@hipstersmoothie c'est toujours un problÚme lors de la génération d'un changelog.
Donc, tout semblait fonctionner lorsque j'avais le drapeau --no-changelog. Cependant, je l'ai enlevé et nous essayons simplement d'utiliser auto shipit
dans le CI et cela Ă©choue avec la mĂȘme erreur de limite de dĂ©bit.
@hipstersmoothie j'ai rajoutĂ© un peu plus de contexte âïž
@hipstersmoothie merci beaucoup pour votre recherche. Je pense que les versions récentes ont corrigé cela. Je vais aller de l'avant et fermer ceci. auto
fonctionne plutĂŽt bien pour nous maintenant. Merci encore
Commentaire le plus utile
@vincentbriglia Je suis presque sûr d'avoir résolu le problÚme dans vos journaux en #1424
Pourriez-vous installer la version Canary ? Tout est sous une portée différente, vous devrez donc remplacer tous les noms de package :
@dariye Si vous pouviez essayer de tester aussi, je l'apprécierais !