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

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

Issue 2949783002: [milo] appengine/* -> * (Closed)
Patch Set: rebase 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
« no previous file with comments | « milo/appengine/common/middleware.go ('k') | milo/appengine/common/model/link.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 storing staandardized
14 // summarized build data, and is used for backend-agnostic views (i.e. builders,
15 // console). It contains only data that:
16 // * is necessary to render these simplified views
17 // * is present in all implementations (buildbot, buildbucket)
18 //
19 // This entity will live as a child of the various implementation's
20 // representations of a build (e.g. buildbotBuild). It has various 'tag' fields
21 // so that it can be queried by the various backend-agnostic views.
22 type BuildSummary struct {
23 // _id for a BuildSummary is always 1
24 _ int64 `gae:"$id,1"`
25
26 // BuildKey will always point to the "real" build, i.e. a buildbotBuild or
27 // a buildbucketBuild. It is always the parent key for the BuildSummary.
28 BuildKey *datastore.Key `gae:"$parent"`
29
30 // Global identifier for the builder that this Build belongs to, i.e.:
31 // "buildbot/<mastername>/<buildername>"
32 // "buildbucket/<bucketname>/<buildername>"
33 BuilderID string
34
35 // KnownConsoleHash is used for backfilling and must always equal the ra w
36 // value of:
37 //
38 // sha256(sorted(ConsoleEpochs.keys())
39 //
40 // This is used to identify BuildSummaries which haven't yet been includ ed in
41 // some new Console definition (or which have been removed from a Consol e
42 // definition).
43 KnownConsoleHash []byte
44
45 // ConsoleEpochs is used for backfilling, and is a series of cmpbin tupl es:
46 //
47 // (console_name[str], recorded_epoch[int])
48 //
49 // This maps which epoch (version) of a console definition this BuildSum mary
50 // belongs to. Whenever a console definition changes, its epoch increase s. The
51 // backfiller will then identify BuildSummary objects which are out of d ate
52 // and update them.
53 ConsoleEpochs [][]byte
54
55 // ConsoleTags contains query tags for the console view. These are cmpbi n
56 // tuples which look like:
57 //
58 // (console_name[str], sort_criteria[tuple], sort_values[tuple])
59 //
60 // `sort_criteria` are defined by the console definition, and will likel y look
61 // like (manifest_name[str], repo_url[str]), but other sort_criteria may be
62 // added later.
63 //
64 // `sort_values` are defined by the selected sort_criteria, and will lik ely
65 // look like (commit_revision[str],). In any event, this string is opaqu e and
66 // only to be used by the console itself.
67 ConsoleTags [][]byte
68
69 // Created is the time when the Build was first created. Due to pending
70 // queues, this may be substantially before Summary.Start.
71 Created time.Time
72
73 // Summary summarizes relevant bits about the overall build.
74 Summary Summary
75
76 // CurrentStep summarizes relevant bits about the currently running step (if
77 // any). Only expected to be set if !Summary.Status.Terminal().
78 CurrentStep Summary
79
80 // Manifests is a list of links to source manifests that this build repo rted.
81 Manifests []ManifestLink
82
83 // Patches is the list of patches which are associated with this build.
84 // We reserve the multi-patch case for advanced (multi-repo) tryjobs...
85 // Typically there will only be one patch associated with a build.
86 Patches []PatchInfo
87 }
OLDNEW
« no previous file with comments | « milo/appengine/common/middleware.go ('k') | milo/appengine/common/model/link.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698