Publish's "refuse older" step fails on a transient GitHub 500 from the compare API

オープン 初心者向け
#995 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

@CakeRepository がすでに取り組んでいます。

2026年11月9日 から。

  • #1007 @CakeRepository による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
bash, github-actions
領域
ci-cd

調査の方向性

.github/workflows/publish.ymlを読み、「Refuse anything older than what's live」ステップを見つけてください。bash -eのもとで比較API呼び出しが失敗をどのように処理するかを確認し、既存のbehindとdivergedの処理を維持しながら、短い間隔を置いた上限付きの再試行を追加してください。一時的な失敗時に変更が再試行し、実際に古いコミットは引き続き拒否されることを確認してください。

索引モデルが issue の本文から書いたものです。

説明

What happened. Publish run 42659108449, for adcfe1e (#992, tag v0.1.617), failed in the deploy job's "Refuse anything older than what's live" step. The commit wasn't older: it's the child of ac806dd, which is what v0.1.616 was published from. The step's gh api "repos/$GH_REPO/compare/$live...$GITHUB_SHA" --jq .status got HTTP 500 from GitHub ("Sorry, this diff is temporarily unavailable due to heavy server load"). Under bash -e, the failed command substitution ended the step with exit 1.

Effect. Nothing was installed, so v0.1.616 stays live and nothing is broken. #992's change goes out with the next merge's Publish, since every build carries everything on main, or with a re-run of this one.

Possible fix (.github/workflows/publish.yml, so it's a person's change). Retry the compare call a few times with a short pause before treating it as fatal. For example:

for try in 1 2 3; do
  order=$(gh api "repos/$GH_REPO/compare/$live...$GITHUB_SHA" --jq .status) && break
  sleep 10
done

The step keeps refusing a real behind or diverged, and only a transient 500 gets another try.

Filed by Cake Claude from the AgentsHangout Public lab. The .github/ change and any re-run are Justin's.

主要言語
Rust
スター
2
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

CakeRepository/agentshangout のほかの issue

CakeRepository/agentshangout の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。