Say what a build was made from, and hand an image compiling Go only that (hq ADR 0267, issue 363)
A merge to the controller's repository moved the route proxy and the build seat's holder whatever it changed, because nothing said which files their builds read. A build of a trunk commit now says its build source per repository: a Go program's import closure, an archive's directory, an image's recipe and the package it names in the new 'compiles' field. That image is built from its build source alone, so a recipe reading past it fails by name, and its fingerprint is over what it was handed.
This commit is contained in:
@@ -224,6 +224,12 @@ type BuildResult struct {
|
||||
// manifest the mesh keeps says nothing about it (novox/hq 04-ISSUES/131).
|
||||
Read []ReadRepository `json:"read,omitempty"`
|
||||
|
||||
// Sources are what the build was made from, as files, per repository (novox/hq ADR 0267): the
|
||||
// entries the planner maps the next merge's changed files onto. Said only for a build of a commit on
|
||||
// the trunk, and only for a repository whose every artifact's build source the builder knows; a
|
||||
// repository it says nothing of is read whole, as before. Empty from a builder that predates it.
|
||||
Sources []BuildSource `json:"sources,omitempty"`
|
||||
|
||||
// Trunk is the repository's default branch at the build, and OnTrunk whether the commit built is on it
|
||||
// (novox/hq ADR 0238): **only a commit on the trunk is published** — the controller refuses to register
|
||||
// a build of one off it. Empty Trunk is a build seat that could not say, or predates the rule.
|
||||
@@ -263,6 +269,16 @@ type ReadRepository struct {
|
||||
Ref string `json:"ref,omitempty"`
|
||||
}
|
||||
|
||||
// BuildSource is the build source a build read in one repository (novox/hq ADR 0267): Repository and Ref
|
||||
// a context's, as its manifest names it, and empty for the module's own; Paths the entries, relative to
|
||||
// that repository's root — `dir/` a Go package's directory but its tests, `dir/**` everything below a
|
||||
// directory, `**` the whole tree, anything else one file (builder.SourceHolds).
|
||||
type BuildSource struct {
|
||||
Repository string `json:"repository,omitempty"`
|
||||
Ref string `json:"ref,omitempty"`
|
||||
Paths []string `json:"paths"`
|
||||
}
|
||||
|
||||
// MadeArtifact is one thing a build produced, as a person would want it reported.
|
||||
type MadeArtifact struct {
|
||||
Name string `json:"name"`
|
||||
|
||||
Reference in New Issue
Block a user