Files
jtoelke2 a656ed7b91 ci(docker): use prebuilt Rust binaries by default (#1027)
* ci(docker): use prebuilt Rust binaries by default

Flip Docker image builds to consume staged native Rust artifacts, remove in-Docker Rust build stages, and publish per-arch images with a manifest merge.

Add local staging support for prebuilt gateway and sandbox binaries so development image builds continue to work without CI artifacts.

Signed-off-by: Jonas Toelke <jtoelke@nvidia.com>

* ci(docker): address prebuilt build review feedback

* ci(rust): allow existing vfio complexity

* ci(rust): pin toolchain to 1.95

---------

Signed-off-by: Jonas Toelke <jtoelke@nvidia.com>
2026-04-29 19:23:02 -05:00

83 lines
2.5 KiB
TOML

# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# Docker image build tasks
["build:docker"]
description = "Build all Docker images"
depends = [
"build:docker:gateway",
"build:docker:cluster",
"build:docker:supervisor",
"build:docker:supervisor-sideload",
]
hide = true
["build:docker:ci"]
description = "Build the CI Docker image"
run = "tasks/scripts/docker-build-ci.sh"
hide = true
["build:docker:prebuilt"]
description = "Build and stage Rust binaries consumed by Docker image builds"
run = "tasks/scripts/stage-prebuilt-binaries.sh all"
hide = true
["build:docker:gateway"]
description = "Build the gateway Docker image"
run = "tasks/scripts/docker-build-image.sh gateway"
hide = true
["build:docker:supervisor"]
description = "Build the standalone supervisor Docker image (Ubuntu-based, for K8s pods)"
run = "tasks/scripts/docker-build-image.sh supervisor"
hide = true
["build:docker:supervisor-sideload"]
description = "Build the supervisor sideload image (FROM scratch, for Podman image-volume mount)"
run = "tasks/scripts/docker-build-image.sh supervisor-output"
hide = true
["build:docker:cluster"]
description = "Build the k3s cluster image (component images pulled at runtime from registry)"
run = "tasks/scripts/docker-build-image.sh cluster"
hide = true
["docker:build:gateway"]
description = "Alias for build:docker:gateway"
depends = ["build:docker:gateway"]
hide = true
["docker:build:supervisor"]
description = "Alias for build:docker:supervisor"
depends = ["build:docker:supervisor"]
hide = true
["docker:build:supervisor-sideload"]
description = "Alias for build:docker:supervisor-sideload"
depends = ["build:docker:supervisor-sideload"]
hide = true
["docker:build:cluster"]
description = "Alias for build:docker:cluster"
depends = ["build:docker:cluster"]
hide = true
["build:docker:cluster:multiarch"]
description = "Build multi-arch cluster image and push to a registry"
run = "tasks/scripts/docker-publish-multiarch.sh"
hide = true
["docker:build:cluster:multiarch"]
description = "Alias for build:docker:cluster:multiarch"
depends = ["build:docker:cluster:multiarch"]
hide = true
["docker:cleanup"]
description = "Remove stale images, volumes, and build cache not used by the current cluster"
run = "scripts/docker-cleanup.sh --force"
["docker:cleanup:dry-run"]
description = "Preview what docker:cleanup would remove without deleting anything"
run = "scripts/docker-cleanup.sh --dry-run"