Documentation
¶
Overview ¶
Package routing reads which roles and gates run on which event, and which handoffs are allowed (docs/spec/routing.md). It decides nothing by itself.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddReviewer ¶ added in v0.9.0
AddReviewer has the project's merge requests reviewed (ADR-0020): the reviewer is added at the end of the project's merge-request line, or of the shipped one when the project routes none. It returns the steps the line runs afterwards, and whether the file changed.
func RoutePrePush ¶
RoutePrePush has the project's .workline/config.yaml route pre-push to the committer and the documentalist, unless it routes pre-push already: then it is the project's choice, left as it is. It returns the steps pre-push runs afterwards, and whether the file changed. The file is appended to when it has no routing yet, so what a person wrote stays as they wrote it.
func SetAutonomy ¶ added in v0.13.0
SetAutonomy sets the product owner's autonomy level in the project's .workline/config.yaml (ADR-0026), unless the project set one already: then it is the project's choice, returned as it is. It returns the level in force afterwards, and whether the file changed.
Types ¶
type Config ¶
type Config struct {
Events map[string][]string `yaml:"events"`
Handoffs *[]Edge `yaml:"handoffs"`
MaxHandoffs int `yaml:"max-handoffs"`
// FailFast says, per event, whether the first step that does not pass
// stops the line (true, the default) or every step runs and the line
// takes the worst verdict (false: the schedule's upkeep, ADR-0037).
FailFast map[string]bool `yaml:"fail-fast"`
}
Config is the line: steps per event, and the allowed handoffs.
func (*Config) Follows ¶ added in v0.20.0
Follows reports whether a line runs role then after role first, in the same event's steps: the reviewer after the product owner reads the specs it refined (#128).
func (*Config) StopsAtFirst ¶ added in v0.23.0
StopsAtFirst reports whether the first step of event that does not pass stops the line: it does, unless the routing sets `fail-fast: false` for it.