coder / coder/envbuilder

Add support for feature order definition in devcontainer definitions

Offen
#226 0 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Go
Sterne
300
Forks
64
Ø Merge
20 Min.
Gemergte PRs (30 T.)
1

Beschreibung

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
go
Bereich
build-system, devops
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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