Compare commits

...

2 Commits

Author SHA1 Message Date
6fed13ee0e Also accepts step key to be step name
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-06 18:19:11 +01:00
b1ad293810 Expect avant-last line to be + echo grade 2023-03-06 18:18:52 +01:00

View File

@ -74,18 +74,27 @@ func (r *Repository) fetchRepoTests(build_number int, steps map[string]float64)
continue
}
if g, ok := steps[step.Name]; ok {
log.Printf("Step %q (%d) in status %q", step.Name, step.Number, step.Status)
// Give the point if it succeed
if step.Status == "success" {
grade += g
}
continue
}
logs, err := client.Logs(tmp[0], tmp[1], build_number, stage.Number, step.Number)
if err != nil {
log.Printf("Unable to retrieve build logs %s/%s/%d/%d/%d: %s", tmp[0], tmp[1], build_number, stage.Number, step.Number, err.Error())
continue
}
if len(logs) < 1 {
if len(logs) < 2 {
continue
}
line := logs[len(logs)-1]
if strings.HasPrefix(line.Message, "grade:") {
if strings.HasPrefix(logs[len(logs)-2].Message, "+ echo grade:") && strings.HasPrefix(line.Message, "grade:") {
g, err := strconv.ParseFloat(strings.TrimSpace(strings.TrimPrefix(line.Message, "grade:")), 64)
if err == nil {
grade += g