coder / coder/envbuilder

Add support for feature order definition in devcontainer definitions

Aperta
#226 0 commenti 4 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.