watch: a rebuild queued during a failed deploy is never deployed
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- node.js, typescript
調査の方向性
packages/cli/src/watch.tsから始めて、triggerDeployがpromiseの成功時と失敗時の経路をどのように処理するかを追ってください。デプロイの実行中に変更を保存して失敗を再現し、その後、どちらの結果の場合もキューに入ったデプロイが実行されることを確認してください。また、#47で説明されているデプロイ保留によってブロックされないことを確認してください。
索引モデルが issue の本文から書いたものです。
説明
Problem
In packages/cli/src/watch.ts, if a rebuild happens while a deploy is running, triggerDeploy sets deployQueued = true. The .then handler starts the queued deploy, but the .catch handler only resets isDeploying and never checks deployQueued.
So if the running deploy fails, a change saved during it is silently left undeployed until the next file change. That's often exactly the fix for the failure.
Repro
- In
notation watch, start a deploy that will fail. - While it's running, save a change.
- The failed deploy finishes, and the saved change is not deployed until another edit.
Fix
Drain the queue in both paths, e.g. move the deployQueued check into a .finally, or call the same "done" function from .then and .catch.
Note that while #47 is open, the queued deploy would then hang on the deployment hold, so the two are worth fixing together.
- 主要言語
- TypeScript
- スター
- 54
- フォーク
- 1
- 平均マージ
- 1時間 45分
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
notationlabs/notation のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
notationlabs/notation#47 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
notationlabs/notation#34 ·
-
envs as configオープン
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
notationlabs/notation#33 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
notationlabs/notation#16 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
notationlabs/notation#15 ·
notationlabs/notation の issue をすべて見る
似ている issue
-
area: app type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
ExpidetGames/code-reviewer#585 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 83/100
module-federation/core#5205 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
LanternOps/breeze#9392 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
engine-rs P3 review-deferral wasm
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
maniator/verticopolis#1154 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信