github-samples / github-samples/pets-workshop

1-hour workshop: Fail startup clearly when dependencies or services do not start

Offen
#259 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

priority: P0
Vorherrschende Sprache
Python
Sterne
80
Forks
161
Ø Merge
31 Min.
Gemergte PRs (30 T.)
1

Beschreibung

Problem

The learner setup depends entirely on the startup scripts, but failure handling can report a misleading success state. In app/scripts/start-app.sh, npm install is not checked before npm run dev starts. In app/scripts/start-app.ps1, a failed Node dependency installation emits a warning and continues. Both scripts wait a fixed five seconds and then print both service URLs without checking that Flask and Astro are ready.

This makes common setup failures look like browser or workshop problems and gives independent learners little actionable feedback.

Suggested change

Make both startup scripts stop on dependency installation failures and verify service/process readiness before announcing success.

Acceptance criteria

  • A failed Python or Node dependency install exits nonzero with a clear message.
  • Failure of either Flask or Astro stops the other managed process.
  • URLs are printed only after both services are ready.
  • Cleanup still works on Ctrl+C and partial startup failures.
  • macOS/Linux and Windows paths have equivalent behavior.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit app/scripts/start-app.sh und app/scripts/start-app.ps1 und verfolge die Installation der Abhängigkeiten, die festgelegte Wartezeit von fünf Sekunden, die Ausgabe der Service-URLs und die Bereinigungspfade. Führe beide Startskripte aus und simuliere eine fehlgeschlagene Installation von Python oder Node sowie einen fehlgeschlagenen Start von Flask oder Astro. Erledigt ist die Aufgabe, wenn Fehler einen von null verschiedenen und eindeutigen Status haben, verwaltete Prozesse gemeinsam beendet werden, URLs erst angezeigt werden, nachdem beide Services bereit sind, und die Bereinigung bei Ctrl+C oder einem teilweisen Start weiterhin funktioniert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
powershell, python, shell
Bereich
developer-experience, devops
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.