Auto: 非常に大量のコミットで変更ログを生成するときにGHレート制限に達する

作成日 2020年07月30日  ·  29コメント  ·  ソース: intuit/auto

バグを説明する

auto shipitコマンドは、リリース後に変更ログを生成しようとすると、どういうわけかGHのAPIレート制限を超えてしまいます。 (スクリーンショットを参照)

再現するには



auto shipit実行します

このエラーが発生するためには、リリースがないが、多くのprとcommitがあるリポジトリが必要です。したがって、本質的に高速のコードベースです。

予想される行動

新しいバージョンが変更ログとリリースとともにリリースされます。

スクリーンショット

Screenshot_2020-07-30_at_12_01_49

Screenshot_2020-07-30_at_12_01_18

環境情報:

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

追加のコンテキスト

--no-changelogフラグを渡すことで、これを回避することができました。

このコード行にエラーをトレースしましたhttps://github.com/intuit/auto/blob/d419b17f46638ebee68d125467891ac2e1d25304/packages/core/src/release.ts#L484

bug

最も参考になるコメント

@ vincentbriglia #1424のログの問題を修正したと確信しています

カナリアバージョンをインストールしてもらえますか? すべて異なるスコープの下にあるため、すべてのパッケージ名を置き換える必要があります。

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も試してみて

全てのコメント29件

リポジトリを見て遊ぶチャンスはありますか?

うわーそれはたくさんのリクエストです

また、私が役立つかもしれないより完全なログを取得できれば

実際にローカルで再現することができました。 希望以外は何も必要ありません😉

私たちはsemantic-releaseで多くの同様のリクエストを作成しますが、私が知っていることではありませんが、不正使用の制限に達していません。 コメントを作成するリクエストの間に3秒のタイムアウトがあるはずですが、ログでそれが発生しているのがわかりますか?

念のために言っておきますが、これらすべてのリクエストで単一のOctokitインスタンスを使用していますか?

作成しているのは1つだけです。

それはここで起こりますhttps://github.com/intuit/auto/blob/master/packages/core/src/git.ts#L123

起動時に一度だけ初期化する必要がありますhttps://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L1643

確認できます

検証済み:1回だけ作成

この問題を自動でテストするには:

yarn
yarn build
yarn auto changelog --from v1.0.0 -d

GraphQLリクエストを行いますか?

「不正使用の制限を超えました」ログが約3秒に1回の割合で発生していることを確認できますか?

ああ、それかもしれません。 @ octokit / graphqlを使用しますが、今日、octokitを使用して直接実行できることを確認しました。 それも試してみます

@ octokit / graphqlを使用しますが、今日、octokitを使用して直接実行できることがわかりました。

はい、そうすれば、同じリクエスト設定とリクエストライフサイクルフックを共有します

🙏

さあ、今走っています。 私のレート制限で1時間待ってください😢

@hipstersmoothieこれにぶつかった場合は、githubインスタンスを使用できます-同じことがわかります

ビルドログにリンクできますか?

これはクローズドリポジトリにあるため、ビルドログを送信しました。

@ vincentbriglia #1424のログの問題を修正したと確信しています

カナリアバージョンをインストールしてもらえますか? すべて異なるスコープの下にあるため、すべてのパッケージ名を置き換える必要があります。

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も試してみて

で試してみました

"@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",

githubランナーGITHUB_TOKENの問題はまだあります

今すぐ個人トークンを試してみます(以前にいくつかの不一致が見られました)

個人トークンでも機能しませんでした。

プライベートリポジトリ@hipstersmoothieへのアクセスを許可しました-次のブランチからのブランチ

ありがとう! あなたの問題をかなり迅速に解決することができました。 https://github.com/intuit/auto/pull/1424/commits/d6e7be20f17160d253298146b77648b408377890

これは@dariyeが抱えている問題と同じではないと思います。

@hipstersmoothieで発生していた問題が修正されたことを確認しました。良い週末をお過ごしください。

ただし、 @ hipstersmoothieこの変更により、semverリリースの公開や正しく計算が停止するようになりました。

autoは期待どおりに動作していると思います。 私はここでこれconventionalコミットプラグインがすべての非semverコミットメッセージをskip-releaseとして扱うためです(例:雑用、ドキュメントなど)。

これはそれを実装したPRですhttps://github.com/intuit/auto/pull/1086

従来のコミットプラグインでこれを行わない方がいいですか? (例:doc / chore / etcをスキップしないでください)

@ vincentbriglia #1424のログの問題を修正したと確信しています

カナリアバージョンをインストールしてもらえますか? すべて異なるスコープの下にあるため、すべてのパッケージ名を置き換える必要があります。

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も試してみて

今日テストして、折り返しご連絡します。

@hipstersmoothieこれは、変更ログを生成するときにまだ問題です。

したがって、-no-changelogフラグを設定すると、すべてが機能しているように見えました。 しかし、私はそれを外し、CIでauto shipitを使おうとすると、同じレート制限ヒットエラーで失敗します。

@hipstersmoothieもう少しコンテキストを追加しました☝️

@hipstersmoothieこれをauto 、今ではかなりうまく機能しています。 再度、感謝します

このページは役に立ちましたか?
0 / 5 - 0 評価