An artifact may name which stage of its recipe to stop at

One source, two images, deliberately different: a toolchain carries a compiler
and the image the same module runs in should not.
This commit is contained in:
2026-09-14 01:57:07 +02:00
parent cfe2816495
commit 811b805c67
2 changed files with 12 additions and 0 deletions
+9
View File
@@ -380,6 +380,15 @@ type Artifact struct {
// From is what it is built from, relative to the repository root: a Dockerfile for an image,
// a directory for an archive.
From string `json:"from"`
// Target is which stage of that Dockerfile to stop at, for a recipe that describes more than
// one image.
//
// **One source, two images, and they are meant to differ.** A toolchain image carries a
// compiler and everything a build needs; the image the same module *runs* in should carry
// neither. Describing both in one recipe keeps them in step — they share a base, a library
// version and an operating system — while letting each be built and published separately.
// Empty means the whole recipe, which is what a module with one image says by saying nothing.
Target string `json:"target,omitempty"`
}
// Kinds an artifact may be.