forked from golang/build
-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.go
40 lines (33 loc) · 1.6 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Package types contains common types used by the Go continuous build
// system.
package types
// BuildStatus is the data structure that's marshalled as JSON
// for the http://build.golang.org/?mode=json page.
type BuildStatus struct {
// Builders is a list of all known builders.
// The order that builders appear is the same order as the build results for a revision.
Builders []string `json:"builders"`
// Revisions are the revisions shown on the front page of build.golang.org,
// in the same order. It starts with the "go" repo, from recent to old, and then
// it has 1 each of the subrepos, with only their most recent commit.
Revisions []BuildRevision `json:"revisions"`
}
// BuildRevision is the status of a commit across all builders.
// It corresponds to a single row of http://build.golang.org/
type BuildRevision struct {
// Repo is "go" for the main repo, else "tools", "crypto", "net", etc.
// These are repos as listed at https://go.googlesource.com/
Repo string `json:"repo"`
// Revision is the full git hash of the repo.
Revision string `json:"revision"`
// GoRevision is the full git hash of the "go" repo, if Repo is not "go" itself.
// Otherwise this is empty.
GoRevision string `json:"goRevision,omitempty"`
// Results are the build results for each of the builders in
// the same length slice BuildStatus.Builders.
// Each string is either "" (if no data), "ok", or the URL to failure logs.
Results []string `json:"results"`
}