Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(230)

Side by Side Diff: milo/appengine/common/model/build_summary.go

Issue 2944633003: [milo] Add BuildSummary and common models. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file.
4
5 package model
6
7 import (
8 "time"
9
10 "github.com/luci/gae/service/datastore"
11 )
12
13 // BuildSummary is a datastore model which is used for displaying
Ryan Tseng 2017/06/17 00:44:28 s/displaying/storing summarized data for/
iannucci 2017/06/17 01:30:04 Done.
14 // backend-agnostic views (i.e. builders, console). It contains only data that:
15 // * is necessary to render these simplified views
16 // * is present in all implementations (buildbot, buildbucket)
17 //
18 // This entity will live as a child of the various implementation's
19 // representations of a build (e.g. buildbotBuild). It has various 'tag' fields
20 // so that it can be queried by the various backend-agnostic views.
21 type BuildSummary struct {
22 // _id for a BuildSummary is always 1
Ryan Tseng 2017/06/17 00:44:28 Why? What is this for?
iannucci 2017/06/17 01:30:04 This is part of the key that luci/gae will generat
23 _ int64 `gae:"$id,1"`
24
25 // BuildKey will always point to the "real" build, i.e. a buildbotBuild or
26 // a buildbucketBuild. It is always the parent key for the BuildSummary.
27 BuildKey *datastore.Key `gae:"$parent"`
28
29 // Global identifier for the builder that this Build belongs to, i.e.:
30 // "buildbot/<mastername>/<buildername>"
31 // "buildbucket/<bucketname>/<buildername>"
32 BuilderID string
33
34 // KnownConsoleHash is used for backfilling and must always equal
35 // sha256(sorted(ConsoleEpochs.keys())
Ryan Tseng 2017/06/17 00:44:28 Is this a binary representation (instead of a hex
iannucci 2017/06/17 01:30:04 I tend to prefer the raw representation (since it'
36 KnownConsoleHash []byte
37
38 // ConsoleEpochs is used for backfilling, and is a series of cmpbin tupl es:
39 // (console_name[str], recorded_epoch[int])
Ryan Tseng 2017/06/17 00:44:28 // When a new console definition appears, this det
iannucci 2017/06/17 01:30:04 Done.
40 ConsoleEpochs [][]byte
41
42 // ConsoleTags contains query tags for the console view. These are cmpbi n
43 // tuples which look like:
44 // (console_name[str], sort_criteria[tuple], sort_values[tuple])
Ryan Tseng 2017/06/17 00:44:28 Explain sort_criteria[tuple] and sort_values[tuple
iannucci 2017/06/17 01:30:04 Done.
45 ConsoleTags [][]byte
46
47 // Created is the time when the Build was first created. Due to pending
48 // queues, this may be substantially before Summary.Start.
49 Created time.Time
50
51 // Summary summarizes relevant bits about the overall build.
52 Summary Summary
53
54 // CurrentStep summarizes relevant bits about the currently running step (if
55 // any). Only expected to be set if !Summary.Status.Terminal().
56 CurrentStep Summary
57
58 // Manifests is a list of links to source manifests that this build repo rted.
59 Manifests []ManifestLink
60
61 // Patches is the list of patches which are associated with this build.
62 // We reserve the multi-patch case for advanced (multi-repo) tryjobs...
63 // Typically there will only be one patch associated with a build.
64 Patches []PatchInfo
65 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698