crunchloop / crunchloop/devcontainer

BuildKit detection probe in runtime/docker (design §13.2)

Offen
#8 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area/runtime enhancement
Vorherrschende Sprache
Go
Sterne
5
Forks
0
Ø Merge
6 Std. 17 Min.
Gemergte PRs (30 T.)
15

Beschreibung

Per design/runtime.md §13.2: prefer BuildKit if available, fall back to classic. Today `runtime/docker/build.go` calls `ImageBuild` without setting `Version`, so we get whatever the daemon defaults to.

### Plan

- Probe `Info.BuilderVersion` (or check for `buildkit` capabilities) at `docker.New()`
- Cache result on `*Runtime`
- In `BuildImage`, set `opts.Version = build.BuilderBuildKit` when supported
- Fall back to classic with a warning if a buildkit-only construct (e.g. `# syntax=...`) appears in the user's Dockerfile but the daemon has no buildkit

### Why now

Our generated feature dockerfile starts with `# syntax=docker/dockerfile:1.4`. Classic ignores this as a comment so today's flow works, but cache mounts and other syntax-1.4 features won't apply unless buildkit is on.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

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