Add support for feature order definition in devcontainer definitions
- Lingua principale
- Go
- Stelle
- 300
- Fork
- 64
- Merge medio
- 20m
- PR unite (30g)
- 1
Descrizione
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
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Start in devcontainer/devcontainer.go at the linked feature-ordering code and read the devcontainer specification's installation-order section. Trace how feature metadata from devcontainer-feature.json and configuration from devcontainer.json are loaded. Done means dependsOn, installsAfter, and overrideFeatureInstallOrder affect execution order, with unsupported behavior documented as shown by PR #219.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- go
- Ambito
- build-system, devops
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100