38 lines
2.4 KiB
Go
38 lines
2.4 KiB
Go
package catalogue
|
|
|
|
// The delivery's checker (novox/hq ADR 0547 §10, issue 774): one holder for the mesh, the module
|
|
// mesh-delivery-checker, which judges a pull request's head and a pushed head the same way. The try the
|
|
// controller forwarded to it is a verb of this seat, answered by the checker with the verdict it gives a pull
|
|
// request, so the try outlives the controller.
|
|
|
|
// CheckerSeat is the seat mesh-delivery-checker holds.
|
|
const CheckerSeat = "mesh-delivery-checker"
|
|
|
|
// checkerVerbs are the checker seat's verbs: ask a try, read one, end one by hand. Optional until the checker serves them
|
|
// everywhere.
|
|
func checkerVerbs() []Verb {
|
|
return []Verb{
|
|
{Name: "try", Optional: true, Description: "Try a pushed head before its pull request is opened: the checker " +
|
|
"judges it as it judges a pull request's head, merged onto its trunk's head, its unit and integration " +
|
|
"levels through the build modules, and owes the forge nothing. Answers the try's id at once; try-read " +
|
|
"reads where it stands. A try of the same head that waits or runs is the answer to a second ask; at most " +
|
|
"4 wait or run at once, mesh-wide.",
|
|
Input: schema(map[string]string{"repository": "<owner>/<name>",
|
|
"head": "the full commit to try, 40 or 64 hex digits",
|
|
"trunk": "the trunk commit to merge it onto, or the trunk's branch for its head now; the trunk's head when absent",
|
|
"tests": "a go test -run pattern: only those tests run, and nothing is kept",
|
|
"level": "unit or integration: only this level; both when absent"},
|
|
[]string{"repository", "head"}),
|
|
Replaces: []string{"sh merge-check.sh", "docker run postgres"}},
|
|
{Name: "try-read", Optional: true, Description: "Where a try stands, as stored: queued, running, or its end " +
|
|
"(pass, fail, or error when it could not run), with what was said of it, the head and the trunk commit " +
|
|
"it was merged onto, the time it took and what failed first. Read-only.",
|
|
Input: schema(map[string]string{"id": "the try's id, try-<digits>"}, []string{"id"})},
|
|
{Name: "try-end", Optional: true, Description: "End a try that waits or runs, as error, by hand: say why (kept in " +
|
|
"what it says). Its place among the tries is free at once and the next try of its head asks anew with a new " +
|
|
"id. A try that ended already is refused.",
|
|
Input: schema(map[string]string{"id": "the try's id, try-<digits>", "why": "why it is ended, in words"},
|
|
[]string{"id", "why"})},
|
|
}
|
|
}
|