github-samples / github-samples/pets-workshop
full-day workshop: Make the generated devcontainer startup portable and non-blocking
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 80
- Forks
- 161
- Merge medio
- 31 min
- PR fusionados (30 d)
- 1
Descripción
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.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con content/full-day/3-codespaces.md y app/scripts/start-app.sh; inspecciona cómo se genera postStartCommand y cómo el script gestiona ambos servicios. Haz pruebas con un nombre de repositorio distinto de pets-workshop y deteniendo e iniciando un Codespace, verificando la finalización del ciclo de vida, los logs visibles de Flask y Astro, reinicios predecibles y la ausencia de procesos duplicados.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- flask, python, shell
- Área
- developer-experience, devops
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 55/100