github-samples / github-samples/pets-workshop

full-day workshop: Make the generated devcontainer startup portable and non-blocking

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

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

priority: P0
主要言語
Python
スター
80
フォーク
161
平均マージ
31分
マージ済み PR(30日)
1

説明

Problem

Step 0 allows a repository name chosen by the learner or workshop leader, but content/full-day/3-codespaces.md hard-codes this startup command:

"postStartCommand": "chmod +x /workspaces/pets-workshop/app/scripts/start-app.sh && /workspaces/pets-workshop/app/scripts/start-app.sh"

It fails when the generated repository is not named pets-workshop. In addition, start-app.sh deliberately waits for both application processes and does not exit, so using it directly as a lifecycle command can leave the Codespaces startup task running indefinitely.

Suggested change

Use the dev container workspace variable or a workspace-relative command, and launch the long-running application through a non-blocking mechanism appropriate for dev containers.

Acceptance criteria

  • The command works for any repository name allowed by Step 0.
  • The dev container lifecycle command completes after starting the services.
  • Flask and Astro logs remain accessible to the learner.
  • Both services restart predictably after a Codespace stop/start.
  • Service cleanup does not leave duplicate processes.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

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

調査の方向性

content/full-day/3-codespaces.md と app/scripts/start-app.sh から始め、postStartCommand がどのように生成されるか、またスクリプトが両方のサービスをどのように処理するかを調べます。pets-workshop 以外のリポジトリ名を使い、Codespace を停止して再起動してテストし、ライフサイクルの完了、Flask と Astro のログが表示されること、予測可能な再起動、重複プロセスがないことを確認します。

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

評価

技術スタック
flask, python, shell
領域
developer-experience, devops
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

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

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