From 67bc3bc8d12cc344670b348acb3f2e6b9e9a6f83 Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Wed, 29 Jul 2026 11:48:34 +0200 Subject: [PATCH] dockerfile: promote RUN --device flag from labs Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- docker-bake.hcl | 2 +- .../dockerfile2llb/convert_norundevice.go | 16 ---------------- .../dockerfile2llb/convert_rundevice.go | 2 -- frontend/dockerfile/dockerfile_rundevice_test.go | 2 -- frontend/dockerfile/docs/reference.md | 7 +++---- frontend/dockerfile/release/labs/tags | 1 - 6 files changed, 4 insertions(+), 26 deletions(-) delete mode 100644 frontend/dockerfile/dockerfile2llb/convert_norundevice.go diff --git a/docker-bake.hcl b/docker-bake.hcl index 0384ce92b77b..5344c9809811 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -272,7 +272,7 @@ target "lint" { matrix = { buildtags = [ { name = "default", tags = "", target = "golangci-lint" }, - { name = "labs", tags = "dfrundevice", target = "golangci-lint" }, + { name = "labs", tags = "", target = "golangci-lint" }, { name = "nydus", tags = "nydus", target = "golangci-lint" }, { name = "yaml", tags = "", target = "yamllint" }, { name = "golangci-verify", tags = "", target = "golangci-verify" }, diff --git a/frontend/dockerfile/dockerfile2llb/convert_norundevice.go b/frontend/dockerfile/dockerfile2llb/convert_norundevice.go deleted file mode 100644 index da7b1b997d7e..000000000000 --- a/frontend/dockerfile/dockerfile2llb/convert_norundevice.go +++ /dev/null @@ -1,16 +0,0 @@ -//go:build !dfrundevice - -package dockerfile2llb - -import ( - "github.com/moby/buildkit/client/llb" - "github.com/moby/buildkit/frontend/dockerfile/instructions" - "github.com/pkg/errors" -) - -func dispatchRunDevices(c *instructions.RunCommand) ([]llb.RunOption, error) { - if len(instructions.GetDevices(c)) > 0 { - return nil, errors.New("device feature is only supported in Dockerfile frontend 1.14.0-labs or later") - } - return nil, nil -} diff --git a/frontend/dockerfile/dockerfile2llb/convert_rundevice.go b/frontend/dockerfile/dockerfile2llb/convert_rundevice.go index 72b44755a420..6d081db9a407 100644 --- a/frontend/dockerfile/dockerfile2llb/convert_rundevice.go +++ b/frontend/dockerfile/dockerfile2llb/convert_rundevice.go @@ -1,5 +1,3 @@ -//go:build dfrundevice - package dockerfile2llb import ( diff --git a/frontend/dockerfile/dockerfile_rundevice_test.go b/frontend/dockerfile/dockerfile_rundevice_test.go index dfc4cdf0035c..70e70a8fd459 100644 --- a/frontend/dockerfile/dockerfile_rundevice_test.go +++ b/frontend/dockerfile/dockerfile_rundevice_test.go @@ -1,5 +1,3 @@ -//go:build dfrundevice - package dockerfile import ( diff --git a/frontend/dockerfile/docs/reference.md b/frontend/dockerfile/docs/reference.md index 5a366a1b90e9..8cbbf355f1ad 100644 --- a/frontend/dockerfile/docs/reference.md +++ b/frontend/dockerfile/docs/reference.md @@ -710,7 +710,7 @@ The available `[OPTIONS]` for the `RUN` instruction are: | Option | Minimum Dockerfile version | |---------------------------------|----------------------------| -| [`--device`](#run---device) | 1.14-labs | +| [`--device`](#run---device) | 1.27 | | [`--mount`](#run---mount) | 1.2 | | [`--network`](#run---network) | 1.3 | | [`--security`](#run---security) | 1.20 | @@ -731,8 +731,7 @@ The cache for `RUN` instructions can be invalidated by [`ADD`](#add) and [`COPY` ### RUN --device > [!NOTE] -> Not yet available in stable syntax, use [`docker/dockerfile:1-labs`](#syntax) -> version. It also needs BuildKit 0.20.0 or later. +> This option needs BuildKit 0.20.0 or later. ```dockerfile RUN --device=name,[required] @@ -804,7 +803,7 @@ In this example we use the `--device` flag to run `llama.cpp` inference using an NVIDIA GPU device through CDI: ```dockerfile -# syntax=docker/dockerfile:1-labs +# syntax=docker/dockerfile:1 FROM scratch AS model ADD https://huggingface.co/bartowski/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q4_K_M.gguf /model.gguf diff --git a/frontend/dockerfile/release/labs/tags b/frontend/dockerfile/release/labs/tags index 5464f7e4561c..e69de29bb2d1 100644 --- a/frontend/dockerfile/release/labs/tags +++ b/frontend/dockerfile/release/labs/tags @@ -1 +0,0 @@ -dfrundevice