coder / coder/envbuilder

Add support for feature order definition in devcontainer definitions

Abierto
#226 0 comentarios 4 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Go
Estrellas
300
Forks
64
Merge medio
20 min
PR fusionados (30 d)
1

Descripción

Currently, the order that features are executed as part of the container build is alphabetically sorted in the following code, where there is a TODO to implement support for the "installation order" that is part of the devcontainer spec: https://containers.dev/implementors/features/#installation-order

https://github.com/coder/envbuilder/blob/c72728897e91e713958a8ca0c7211574784ae79e/devcontainer/devcontainer.go#L236-L244

The ask in this issue is to implement support for:

> - The `dependsOn` property defined as a part of a Feature’s devcontainer-feature.json.
> - The `installsAfter` property defined as part of a Feature’s devcontainer-feature.json.
> - The `overrideFeatureInstallOrder` property in user’s devcontainer.json. Allows users to control the order of execution of their Features.

I wasn't able to find an existing issue tracking this, but let me know if there is! Happy to also provide more context on why this is a useful feature if that helps in prioritizing this. Features with any sort of dependencies are unusable in most cases unless the alphabetical ordering happens to line up.

---

In the meantime, it would be helpful to have this documented in the way that this PR did for other unsupported features: https://github.com/coder/envbuilder/pull/219

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza en devcontainer/devcontainer.go, en el código vinculado de ordenación de features, y lee la sección sobre el orden de instalación de la especificación de devcontainer. Traza cómo se cargan los metadatos de las features desde devcontainer-feature.json y la configuración desde devcontainer.json. Se considera terminado cuando dependsOn, installsAfter y overrideFeatureInstallOrder afectan al orden de ejecución, y el comportamiento no compatible queda documentado como se muestra en PR #219.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
go
Área
build-system, devops
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.