deploy steam: steamcmd "Failed to commit build : Failure" (exit 6) is a false negative - build was uploaded and registered

オープン
#310 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
52/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
cli

調査の方向性

Start with parse-steamcmd-output.ts and trace how its success checks feed the Steam deployment command. Reproduce or examine the reported output where content uploads and registers despite the commit error, then determine how that case should be distinguished from a real failure. Done means tests cover the reported output and a genuine failure, without treating an unconfirmed upload as successful.

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

説明

Observed behavior

game-ci deploy steam (v0.1.75) intermittently fails with:

[ERROR] Error: Steam deployment failed: exit code 6: . 72.9MB (94%) | . | [timestamp]: ERROR! Failed to commit build for AppID 3570680 : Failure | Unloading Steam API...OK |

...while the build was uploaded and registered successfully: it appears in the Steamworks build manager, and a manually set-live build from this run is serving on the default branch. The same workflow/CLI was fully green on a release a few weeks earlier (Successfully finished), with the steam-deploy plugin code byte-identical between v0.1.72 and v0.1.75 (git diff v0.1.72...v0.1.75 touches no steam files), so this is a steamcmd-side reporting race, not a code regression.

A second attempt minutes later re-uploaded instantly (chunk dedup) and failed at the commit step the same way, yet that build also registered.

Impact

parse-steamcmd-output.ts requires /Successfully finished/ or exit 0, so this benign-but-reported failure aborts multi-app deploy jobs (we lost the demo and playtest deploys because they run after the full deploy in the same job), and blind retries create duplicate builds in the build manager.

Suggestion

When steamcmd reports the commit failure after depot content uploaded successfully, surface a warning instead of a hard error - or optionally poll the build status (e.g. via the partner web API) to confirm registration before failing. As-is, operators must choose between silent duplicates and missed downstream deploys.

主要言語
TypeScript
スター
20
フォーク
11
平均マージ
5時間 28分
マージ済み PR(30日)
4

環境構築

はじめの一歩

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

game-ci/cli のほかの issue

game-ci/cli の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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