dashboard/app: add machine-readable list of recent failures
Change-Id: I90be865aaab01701d10af57bdf1e0bee5533d3e5 Reviewed-on: https://go-review.googlesource.com/1562 Reviewed-by: Andrew Gerrand <adg@golang.org>
This commit is contained in:
parent
40817d5f2c
commit
8d0ad68ce2
|
@ -95,6 +95,11 @@ func uiHandler(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
data := &uiTemplateData{d, pkg, commits, builders, tipState, p, branch}
|
||||
|
||||
if r.FormValue("mode") == "failures" {
|
||||
failuresHandler(w, r, data)
|
||||
return
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
if err := uiTemplate.Execute(&buf, data); err != nil {
|
||||
logErr(w, r, err)
|
||||
|
@ -106,6 +111,24 @@ func uiHandler(w http.ResponseWriter, r *http.Request) {
|
|||
buf.WriteTo(w)
|
||||
}
|
||||
|
||||
// failuresHandler is https://build.golang.org/?mode=failures , where it outputs
|
||||
// one line per failure on the front page, in the form:
|
||||
// hash builder failure-url
|
||||
func failuresHandler(w http.ResponseWriter, r *http.Request, data *uiTemplateData) {
|
||||
w.Header().Set("Content-Type", "text/plain")
|
||||
d := dashboardForRequest(r)
|
||||
for _, c := range data.Commits {
|
||||
for _, b := range data.Builders {
|
||||
res := c.Result(b, "")
|
||||
if res == nil || res.OK || res.LogHash == "" {
|
||||
continue
|
||||
}
|
||||
url := fmt.Sprintf("https://%v%v/log/%v", r.Host, d.Prefix, res.LogHash)
|
||||
fmt.Fprintln(w, c.Hash, b, url)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type Pagination struct {
|
||||
Next, Prev int
|
||||
HasPrev bool
|
||||
|
|
Loading…
Reference in New Issue