diff --git a/Makefile b/Makefile
index 4d5079e..5253c1a 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,13 @@ npxgen:
.PHONY: test
test:
- go test ./...
+ bazel test //...
+
+.PHONY: update-schema
+update-schema:
+ go generate ./...
+ bazel run //:gazelle
+ git restore pkg/proto/configuration/bb_portal/BUILD.bazel
.PHONY: update-tests
update-tests:
diff --git a/ent/gen/ent/build.go b/ent/gen/ent/build.go
index ad2eb7f..7c2fb13 100644
--- a/ent/gen/ent/build.go
+++ b/ent/gen/ent/build.go
@@ -6,6 +6,7 @@ import (
"encoding/json"
"fmt"
"strings"
+ "time"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
@@ -24,6 +25,8 @@ type Build struct {
BuildUUID uuid.UUID `json:"build_uuid,omitempty"`
// Env holds the value of the "env" field.
Env map[string]string `json:"env,omitempty"`
+ // Timestamp holds the value of the "timestamp" field.
+ Timestamp time.Time `json:"timestamp,omitempty"`
// Edges holds the relations/edges for other nodes in the graph.
// The values are being populated by the BuildQuery when eager-loading is set.
Edges BuildEdges `json:"edges"`
@@ -63,6 +66,8 @@ func (*Build) scanValues(columns []string) ([]any, error) {
values[i] = new(sql.NullInt64)
case build.FieldBuildURL:
values[i] = new(sql.NullString)
+ case build.FieldTimestamp:
+ values[i] = new(sql.NullTime)
case build.FieldBuildUUID:
values[i] = new(uuid.UUID)
default:
@@ -106,6 +111,12 @@ func (b *Build) assignValues(columns []string, values []any) error {
return fmt.Errorf("unmarshal field env: %w", err)
}
}
+ case build.FieldTimestamp:
+ if value, ok := values[i].(*sql.NullTime); !ok {
+ return fmt.Errorf("unexpected type %T for field timestamp", values[i])
+ } else if value.Valid {
+ b.Timestamp = value.Time
+ }
default:
b.selectValues.Set(columns[i], values[i])
}
@@ -155,6 +166,9 @@ func (b *Build) String() string {
builder.WriteString(", ")
builder.WriteString("env=")
builder.WriteString(fmt.Sprintf("%v", b.Env))
+ builder.WriteString(", ")
+ builder.WriteString("timestamp=")
+ builder.WriteString(b.Timestamp.Format(time.ANSIC))
builder.WriteByte(')')
return builder.String()
}
diff --git a/ent/gen/ent/build/build.go b/ent/gen/ent/build/build.go
index a281324..bf37c35 100644
--- a/ent/gen/ent/build/build.go
+++ b/ent/gen/ent/build/build.go
@@ -18,6 +18,8 @@ const (
FieldBuildUUID = "build_uuid"
// FieldEnv holds the string denoting the env field in the database.
FieldEnv = "env"
+ // FieldTimestamp holds the string denoting the timestamp field in the database.
+ FieldTimestamp = "timestamp"
// EdgeInvocations holds the string denoting the invocations edge name in mutations.
EdgeInvocations = "invocations"
// Table holds the table name of the build in the database.
@@ -37,6 +39,7 @@ var Columns = []string{
FieldBuildURL,
FieldBuildUUID,
FieldEnv,
+ FieldTimestamp,
}
// ValidColumn reports if the column name is valid (part of the table columns).
@@ -67,6 +70,11 @@ func ByBuildUUID(opts ...sql.OrderTermOption) OrderOption {
return sql.OrderByField(FieldBuildUUID, opts...).ToFunc()
}
+// ByTimestamp orders the results by the timestamp field.
+func ByTimestamp(opts ...sql.OrderTermOption) OrderOption {
+ return sql.OrderByField(FieldTimestamp, opts...).ToFunc()
+}
+
// ByInvocationsCount orders the results by invocations count.
func ByInvocationsCount(opts ...sql.OrderTermOption) OrderOption {
return func(s *sql.Selector) {
diff --git a/ent/gen/ent/build/where.go b/ent/gen/ent/build/where.go
index 9572a95..b292895 100644
--- a/ent/gen/ent/build/where.go
+++ b/ent/gen/ent/build/where.go
@@ -3,6 +3,8 @@
package build
import (
+ "time"
+
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"github.com/buildbarn/bb-portal/ent/gen/ent/predicate"
@@ -64,6 +66,11 @@ func BuildUUID(v uuid.UUID) predicate.Build {
return predicate.Build(sql.FieldEQ(FieldBuildUUID, v))
}
+// Timestamp applies equality check predicate on the "timestamp" field. It's identical to TimestampEQ.
+func Timestamp(v time.Time) predicate.Build {
+ return predicate.Build(sql.FieldEQ(FieldTimestamp, v))
+}
+
// BuildURLEQ applies the EQ predicate on the "build_url" field.
func BuildURLEQ(v string) predicate.Build {
return predicate.Build(sql.FieldEQ(FieldBuildURL, v))
@@ -169,6 +176,56 @@ func BuildUUIDLTE(v uuid.UUID) predicate.Build {
return predicate.Build(sql.FieldLTE(FieldBuildUUID, v))
}
+// TimestampEQ applies the EQ predicate on the "timestamp" field.
+func TimestampEQ(v time.Time) predicate.Build {
+ return predicate.Build(sql.FieldEQ(FieldTimestamp, v))
+}
+
+// TimestampNEQ applies the NEQ predicate on the "timestamp" field.
+func TimestampNEQ(v time.Time) predicate.Build {
+ return predicate.Build(sql.FieldNEQ(FieldTimestamp, v))
+}
+
+// TimestampIn applies the In predicate on the "timestamp" field.
+func TimestampIn(vs ...time.Time) predicate.Build {
+ return predicate.Build(sql.FieldIn(FieldTimestamp, vs...))
+}
+
+// TimestampNotIn applies the NotIn predicate on the "timestamp" field.
+func TimestampNotIn(vs ...time.Time) predicate.Build {
+ return predicate.Build(sql.FieldNotIn(FieldTimestamp, vs...))
+}
+
+// TimestampGT applies the GT predicate on the "timestamp" field.
+func TimestampGT(v time.Time) predicate.Build {
+ return predicate.Build(sql.FieldGT(FieldTimestamp, v))
+}
+
+// TimestampGTE applies the GTE predicate on the "timestamp" field.
+func TimestampGTE(v time.Time) predicate.Build {
+ return predicate.Build(sql.FieldGTE(FieldTimestamp, v))
+}
+
+// TimestampLT applies the LT predicate on the "timestamp" field.
+func TimestampLT(v time.Time) predicate.Build {
+ return predicate.Build(sql.FieldLT(FieldTimestamp, v))
+}
+
+// TimestampLTE applies the LTE predicate on the "timestamp" field.
+func TimestampLTE(v time.Time) predicate.Build {
+ return predicate.Build(sql.FieldLTE(FieldTimestamp, v))
+}
+
+// TimestampIsNil applies the IsNil predicate on the "timestamp" field.
+func TimestampIsNil() predicate.Build {
+ return predicate.Build(sql.FieldIsNull(FieldTimestamp))
+}
+
+// TimestampNotNil applies the NotNil predicate on the "timestamp" field.
+func TimestampNotNil() predicate.Build {
+ return predicate.Build(sql.FieldNotNull(FieldTimestamp))
+}
+
// HasInvocations applies the HasEdge predicate on the "invocations" edge.
func HasInvocations() predicate.Build {
return predicate.Build(func(s *sql.Selector) {
diff --git a/ent/gen/ent/build_create.go b/ent/gen/ent/build_create.go
index 152adb6..30c011e 100644
--- a/ent/gen/ent/build_create.go
+++ b/ent/gen/ent/build_create.go
@@ -6,6 +6,7 @@ import (
"context"
"errors"
"fmt"
+ "time"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
@@ -39,6 +40,20 @@ func (bc *BuildCreate) SetEnv(m map[string]string) *BuildCreate {
return bc
}
+// SetTimestamp sets the "timestamp" field.
+func (bc *BuildCreate) SetTimestamp(t time.Time) *BuildCreate {
+ bc.mutation.SetTimestamp(t)
+ return bc
+}
+
+// SetNillableTimestamp sets the "timestamp" field if the given value is not nil.
+func (bc *BuildCreate) SetNillableTimestamp(t *time.Time) *BuildCreate {
+ if t != nil {
+ bc.SetTimestamp(*t)
+ }
+ return bc
+}
+
// AddInvocationIDs adds the "invocations" edge to the BazelInvocation entity by IDs.
func (bc *BuildCreate) AddInvocationIDs(ids ...int) *BuildCreate {
bc.mutation.AddInvocationIDs(ids...)
@@ -135,6 +150,10 @@ func (bc *BuildCreate) createSpec() (*Build, *sqlgraph.CreateSpec) {
_spec.SetField(build.FieldEnv, field.TypeJSON, value)
_node.Env = value
}
+ if value, ok := bc.mutation.Timestamp(); ok {
+ _spec.SetField(build.FieldTimestamp, field.TypeTime, value)
+ _node.Timestamp = value
+ }
if nodes := bc.mutation.InvocationsIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
diff --git a/ent/gen/ent/build_update.go b/ent/gen/ent/build_update.go
index 2440686..289e803 100644
--- a/ent/gen/ent/build_update.go
+++ b/ent/gen/ent/build_update.go
@@ -6,6 +6,7 @@ import (
"context"
"errors"
"fmt"
+ "time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
@@ -34,6 +35,26 @@ func (bu *BuildUpdate) SetEnv(m map[string]string) *BuildUpdate {
return bu
}
+// SetTimestamp sets the "timestamp" field.
+func (bu *BuildUpdate) SetTimestamp(t time.Time) *BuildUpdate {
+ bu.mutation.SetTimestamp(t)
+ return bu
+}
+
+// SetNillableTimestamp sets the "timestamp" field if the given value is not nil.
+func (bu *BuildUpdate) SetNillableTimestamp(t *time.Time) *BuildUpdate {
+ if t != nil {
+ bu.SetTimestamp(*t)
+ }
+ return bu
+}
+
+// ClearTimestamp clears the value of the "timestamp" field.
+func (bu *BuildUpdate) ClearTimestamp() *BuildUpdate {
+ bu.mutation.ClearTimestamp()
+ return bu
+}
+
// AddInvocationIDs adds the "invocations" edge to the BazelInvocation entity by IDs.
func (bu *BuildUpdate) AddInvocationIDs(ids ...int) *BuildUpdate {
bu.mutation.AddInvocationIDs(ids...)
@@ -114,6 +135,12 @@ func (bu *BuildUpdate) sqlSave(ctx context.Context) (n int, err error) {
if value, ok := bu.mutation.Env(); ok {
_spec.SetField(build.FieldEnv, field.TypeJSON, value)
}
+ if value, ok := bu.mutation.Timestamp(); ok {
+ _spec.SetField(build.FieldTimestamp, field.TypeTime, value)
+ }
+ if bu.mutation.TimestampCleared() {
+ _spec.ClearField(build.FieldTimestamp, field.TypeTime)
+ }
if bu.mutation.InvocationsCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
@@ -185,6 +212,26 @@ func (buo *BuildUpdateOne) SetEnv(m map[string]string) *BuildUpdateOne {
return buo
}
+// SetTimestamp sets the "timestamp" field.
+func (buo *BuildUpdateOne) SetTimestamp(t time.Time) *BuildUpdateOne {
+ buo.mutation.SetTimestamp(t)
+ return buo
+}
+
+// SetNillableTimestamp sets the "timestamp" field if the given value is not nil.
+func (buo *BuildUpdateOne) SetNillableTimestamp(t *time.Time) *BuildUpdateOne {
+ if t != nil {
+ buo.SetTimestamp(*t)
+ }
+ return buo
+}
+
+// ClearTimestamp clears the value of the "timestamp" field.
+func (buo *BuildUpdateOne) ClearTimestamp() *BuildUpdateOne {
+ buo.mutation.ClearTimestamp()
+ return buo
+}
+
// AddInvocationIDs adds the "invocations" edge to the BazelInvocation entity by IDs.
func (buo *BuildUpdateOne) AddInvocationIDs(ids ...int) *BuildUpdateOne {
buo.mutation.AddInvocationIDs(ids...)
@@ -295,6 +342,12 @@ func (buo *BuildUpdateOne) sqlSave(ctx context.Context) (_node *Build, err error
if value, ok := buo.mutation.Env(); ok {
_spec.SetField(build.FieldEnv, field.TypeJSON, value)
}
+ if value, ok := buo.mutation.Timestamp(); ok {
+ _spec.SetField(build.FieldTimestamp, field.TypeTime, value)
+ }
+ if buo.mutation.TimestampCleared() {
+ _spec.ClearField(build.FieldTimestamp, field.TypeTime)
+ }
if buo.mutation.InvocationsCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
diff --git a/ent/gen/ent/gql_collection.go b/ent/gen/ent/gql_collection.go
index a8c8fda..dc49e7b 100644
--- a/ent/gen/ent/gql_collection.go
+++ b/ent/gen/ent/gql_collection.go
@@ -946,6 +946,11 @@ func (b *BuildQuery) collectField(ctx context.Context, oneNode bool, opCtx *grap
selectedFields = append(selectedFields, build.FieldBuildUUID)
fieldSeen[build.FieldBuildUUID] = struct{}{}
}
+ case "timestamp":
+ if _, ok := fieldSeen[build.FieldTimestamp]; !ok {
+ selectedFields = append(selectedFields, build.FieldTimestamp)
+ fieldSeen[build.FieldTimestamp] = struct{}{}
+ }
case "id":
case "__typename":
default:
diff --git a/ent/gen/ent/gql_where_input.go b/ent/gen/ent/gql_where_input.go
index 0e2cb5a..4f110c7 100644
--- a/ent/gen/ent/gql_where_input.go
+++ b/ent/gen/ent/gql_where_input.go
@@ -3253,6 +3253,18 @@ type BuildWhereInput struct {
BuildUUIDLT *uuid.UUID `json:"buildUUIDLT,omitempty"`
BuildUUIDLTE *uuid.UUID `json:"buildUUIDLTE,omitempty"`
+ // "timestamp" field predicates.
+ Timestamp *time.Time `json:"timestamp,omitempty"`
+ TimestampNEQ *time.Time `json:"timestampNEQ,omitempty"`
+ TimestampIn []time.Time `json:"timestampIn,omitempty"`
+ TimestampNotIn []time.Time `json:"timestampNotIn,omitempty"`
+ TimestampGT *time.Time `json:"timestampGT,omitempty"`
+ TimestampGTE *time.Time `json:"timestampGTE,omitempty"`
+ TimestampLT *time.Time `json:"timestampLT,omitempty"`
+ TimestampLTE *time.Time `json:"timestampLTE,omitempty"`
+ TimestampIsNil bool `json:"timestampIsNil,omitempty"`
+ TimestampNotNil bool `json:"timestampNotNil,omitempty"`
+
// "invocations" edge predicates.
HasInvocations *bool `json:"hasInvocations,omitempty"`
HasInvocationsWith []*BazelInvocationWhereInput `json:"hasInvocationsWith,omitempty"`
@@ -3416,6 +3428,36 @@ func (i *BuildWhereInput) P() (predicate.Build, error) {
if i.BuildUUIDLTE != nil {
predicates = append(predicates, build.BuildUUIDLTE(*i.BuildUUIDLTE))
}
+ if i.Timestamp != nil {
+ predicates = append(predicates, build.TimestampEQ(*i.Timestamp))
+ }
+ if i.TimestampNEQ != nil {
+ predicates = append(predicates, build.TimestampNEQ(*i.TimestampNEQ))
+ }
+ if len(i.TimestampIn) > 0 {
+ predicates = append(predicates, build.TimestampIn(i.TimestampIn...))
+ }
+ if len(i.TimestampNotIn) > 0 {
+ predicates = append(predicates, build.TimestampNotIn(i.TimestampNotIn...))
+ }
+ if i.TimestampGT != nil {
+ predicates = append(predicates, build.TimestampGT(*i.TimestampGT))
+ }
+ if i.TimestampGTE != nil {
+ predicates = append(predicates, build.TimestampGTE(*i.TimestampGTE))
+ }
+ if i.TimestampLT != nil {
+ predicates = append(predicates, build.TimestampLT(*i.TimestampLT))
+ }
+ if i.TimestampLTE != nil {
+ predicates = append(predicates, build.TimestampLTE(*i.TimestampLTE))
+ }
+ if i.TimestampIsNil {
+ predicates = append(predicates, build.TimestampIsNil())
+ }
+ if i.TimestampNotNil {
+ predicates = append(predicates, build.TimestampNotNil())
+ }
if i.HasInvocations != nil {
p := build.HasInvocations()
diff --git a/ent/gen/ent/migrate/schema.go b/ent/gen/ent/migrate/schema.go
index e5f51ed..683bb28 100644
--- a/ent/gen/ent/migrate/schema.go
+++ b/ent/gen/ent/migrate/schema.go
@@ -216,6 +216,7 @@ var (
{Name: "build_url", Type: field.TypeString, Unique: true},
{Name: "build_uuid", Type: field.TypeUUID, Unique: true},
{Name: "env", Type: field.TypeJSON},
+ {Name: "timestamp", Type: field.TypeTime, Nullable: true},
}
// BuildsTable holds the schema information for the "builds" table.
BuildsTable = &schema.Table{
diff --git a/ent/gen/ent/mutation.go b/ent/gen/ent/mutation.go
index 4987b8f..1c4eefe 100644
--- a/ent/gen/ent/mutation.go
+++ b/ent/gen/ent/mutation.go
@@ -7013,6 +7013,7 @@ type BuildMutation struct {
build_url *string
build_uuid *uuid.UUID
env *map[string]string
+ timestamp *time.Time
clearedFields map[string]struct{}
invocations map[int]struct{}
removedinvocations map[int]struct{}
@@ -7228,6 +7229,55 @@ func (m *BuildMutation) ResetEnv() {
m.env = nil
}
+// SetTimestamp sets the "timestamp" field.
+func (m *BuildMutation) SetTimestamp(t time.Time) {
+ m.timestamp = &t
+}
+
+// Timestamp returns the value of the "timestamp" field in the mutation.
+func (m *BuildMutation) Timestamp() (r time.Time, exists bool) {
+ v := m.timestamp
+ if v == nil {
+ return
+ }
+ return *v, true
+}
+
+// OldTimestamp returns the old "timestamp" field's value of the Build entity.
+// If the Build object wasn't provided to the builder, the object is fetched from the database.
+// An error is returned if the mutation operation is not UpdateOne, or the database query fails.
+func (m *BuildMutation) OldTimestamp(ctx context.Context) (v time.Time, err error) {
+ if !m.op.Is(OpUpdateOne) {
+ return v, errors.New("OldTimestamp is only allowed on UpdateOne operations")
+ }
+ if m.id == nil || m.oldValue == nil {
+ return v, errors.New("OldTimestamp requires an ID field in the mutation")
+ }
+ oldValue, err := m.oldValue(ctx)
+ if err != nil {
+ return v, fmt.Errorf("querying old value for OldTimestamp: %w", err)
+ }
+ return oldValue.Timestamp, nil
+}
+
+// ClearTimestamp clears the value of the "timestamp" field.
+func (m *BuildMutation) ClearTimestamp() {
+ m.timestamp = nil
+ m.clearedFields[build.FieldTimestamp] = struct{}{}
+}
+
+// TimestampCleared returns if the "timestamp" field was cleared in this mutation.
+func (m *BuildMutation) TimestampCleared() bool {
+ _, ok := m.clearedFields[build.FieldTimestamp]
+ return ok
+}
+
+// ResetTimestamp resets all changes to the "timestamp" field.
+func (m *BuildMutation) ResetTimestamp() {
+ m.timestamp = nil
+ delete(m.clearedFields, build.FieldTimestamp)
+}
+
// AddInvocationIDs adds the "invocations" edge to the BazelInvocation entity by ids.
func (m *BuildMutation) AddInvocationIDs(ids ...int) {
if m.invocations == nil {
@@ -7316,7 +7366,7 @@ func (m *BuildMutation) Type() string {
// order to get all numeric fields that were incremented/decremented, call
// AddedFields().
func (m *BuildMutation) Fields() []string {
- fields := make([]string, 0, 3)
+ fields := make([]string, 0, 4)
if m.build_url != nil {
fields = append(fields, build.FieldBuildURL)
}
@@ -7326,6 +7376,9 @@ func (m *BuildMutation) Fields() []string {
if m.env != nil {
fields = append(fields, build.FieldEnv)
}
+ if m.timestamp != nil {
+ fields = append(fields, build.FieldTimestamp)
+ }
return fields
}
@@ -7340,6 +7393,8 @@ func (m *BuildMutation) Field(name string) (ent.Value, bool) {
return m.BuildUUID()
case build.FieldEnv:
return m.Env()
+ case build.FieldTimestamp:
+ return m.Timestamp()
}
return nil, false
}
@@ -7355,6 +7410,8 @@ func (m *BuildMutation) OldField(ctx context.Context, name string) (ent.Value, e
return m.OldBuildUUID(ctx)
case build.FieldEnv:
return m.OldEnv(ctx)
+ case build.FieldTimestamp:
+ return m.OldTimestamp(ctx)
}
return nil, fmt.Errorf("unknown Build field %s", name)
}
@@ -7385,6 +7442,13 @@ func (m *BuildMutation) SetField(name string, value ent.Value) error {
}
m.SetEnv(v)
return nil
+ case build.FieldTimestamp:
+ v, ok := value.(time.Time)
+ if !ok {
+ return fmt.Errorf("unexpected type %T for field %s", value, name)
+ }
+ m.SetTimestamp(v)
+ return nil
}
return fmt.Errorf("unknown Build field %s", name)
}
@@ -7414,7 +7478,11 @@ func (m *BuildMutation) AddField(name string, value ent.Value) error {
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *BuildMutation) ClearedFields() []string {
- return nil
+ var fields []string
+ if m.FieldCleared(build.FieldTimestamp) {
+ fields = append(fields, build.FieldTimestamp)
+ }
+ return fields
}
// FieldCleared returns a boolean indicating if a field with the given name was
@@ -7427,6 +7495,11 @@ func (m *BuildMutation) FieldCleared(name string) bool {
// ClearField clears the value of the field with the given name. It returns an
// error if the field is not defined in the schema.
func (m *BuildMutation) ClearField(name string) error {
+ switch name {
+ case build.FieldTimestamp:
+ m.ClearTimestamp()
+ return nil
+ }
return fmt.Errorf("unknown Build nullable field %s", name)
}
@@ -7443,6 +7516,9 @@ func (m *BuildMutation) ResetField(name string) error {
case build.FieldEnv:
m.ResetEnv()
return nil
+ case build.FieldTimestamp:
+ m.ResetTimestamp()
+ return nil
}
return fmt.Errorf("unknown Build field %s", name)
}
diff --git a/ent/gen/ent/schema-viz.html b/ent/gen/ent/schema-viz.html
index ab0864e..1821636 100644
--- a/ent/gen/ent/schema-viz.html
+++ b/ent/gen/ent/schema-viz.html
@@ -70,7 +70,7 @@
}
- const entGraph = JSON.parse("{\"nodes\":[{\"id\":\"ActionCacheStatistics\",\"fields\":[{\"name\":\"size_in_bytes\",\"type\":\"uint64\"},{\"name\":\"save_time_in_ms\",\"type\":\"uint64\"},{\"name\":\"load_time_in_ms\",\"type\":\"int64\"},{\"name\":\"hits\",\"type\":\"int32\"},{\"name\":\"misses\",\"type\":\"int32\"}]},{\"id\":\"ActionData\",\"fields\":[{\"name\":\"mnemonic\",\"type\":\"string\"},{\"name\":\"actions_executed\",\"type\":\"int64\"},{\"name\":\"actions_created\",\"type\":\"int64\"},{\"name\":\"first_started_ms\",\"type\":\"int64\"},{\"name\":\"last_ended_ms\",\"type\":\"int64\"},{\"name\":\"system_time\",\"type\":\"int64\"},{\"name\":\"user_time\",\"type\":\"int64\"}]},{\"id\":\"ActionSummary\",\"fields\":[{\"name\":\"actions_created\",\"type\":\"int64\"},{\"name\":\"actions_created_not_including_aspects\",\"type\":\"int64\"},{\"name\":\"actions_executed\",\"type\":\"int64\"},{\"name\":\"remote_cache_hits\",\"type\":\"int64\"}]},{\"id\":\"ArtifactMetrics\",\"fields\":null},{\"id\":\"BazelInvocation\",\"fields\":[{\"name\":\"invocation_id\",\"type\":\"uuid.UUID\"},{\"name\":\"started_at\",\"type\":\"time.Time\"},{\"name\":\"ended_at\",\"type\":\"time.Time\"},{\"name\":\"change_number\",\"type\":\"int\"},{\"name\":\"patchset_number\",\"type\":\"int\"},{\"name\":\"summary\",\"type\":\"summary.InvocationSummary\"},{\"name\":\"bep_completed\",\"type\":\"bool\"},{\"name\":\"step_label\",\"type\":\"string\"},{\"name\":\"related_files\",\"type\":\"map[string]string\"},{\"name\":\"user_email\",\"type\":\"string\"},{\"name\":\"user_ldap\",\"type\":\"string\"},{\"name\":\"build_logs\",\"type\":\"string\"},{\"name\":\"cpu\",\"type\":\"string\"},{\"name\":\"platform_name\",\"type\":\"string\"},{\"name\":\"hostname\",\"type\":\"string\"},{\"name\":\"is_ci_worker\",\"type\":\"bool\"},{\"name\":\"configuration_mnemonic\",\"type\":\"string\"},{\"name\":\"num_fetches\",\"type\":\"int64\"},{\"name\":\"profile_name\",\"type\":\"string\"}]},{\"id\":\"BazelInvocationProblem\",\"fields\":[{\"name\":\"problem_type\",\"type\":\"string\"},{\"name\":\"label\",\"type\":\"string\"},{\"name\":\"bep_events\",\"type\":\"json.RawMessage\"}]},{\"id\":\"Blob\",\"fields\":[{\"name\":\"uri\",\"type\":\"string\"},{\"name\":\"size_bytes\",\"type\":\"int64\"},{\"name\":\"archiving_status\",\"type\":\"blob.ArchivingStatus\"},{\"name\":\"reason\",\"type\":\"string\"},{\"name\":\"archive_url\",\"type\":\"string\"}]},{\"id\":\"Build\",\"fields\":[{\"name\":\"build_url\",\"type\":\"string\"},{\"name\":\"build_uuid\",\"type\":\"uuid.UUID\"},{\"name\":\"env\",\"type\":\"map[string]string\"}]},{\"id\":\"BuildGraphMetrics\",\"fields\":[{\"name\":\"action_lookup_value_count\",\"type\":\"int32\"},{\"name\":\"action_lookup_value_count_not_including_aspects\",\"type\":\"int32\"},{\"name\":\"action_count\",\"type\":\"int32\"},{\"name\":\"action_count_not_including_aspects\",\"type\":\"int32\"},{\"name\":\"input_file_configured_target_count\",\"type\":\"int32\"},{\"name\":\"output_file_configured_target_count\",\"type\":\"int32\"},{\"name\":\"other_configured_target_count\",\"type\":\"int32\"},{\"name\":\"output_artifact_count\",\"type\":\"int32\"},{\"name\":\"post_invocation_skyframe_node_count\",\"type\":\"int32\"}]},{\"id\":\"CumulativeMetrics\",\"fields\":[{\"name\":\"num_analyses\",\"type\":\"int32\"},{\"name\":\"num_builds\",\"type\":\"int32\"}]},{\"id\":\"DynamicExecutionMetrics\",\"fields\":null},{\"id\":\"EvaluationStat\",\"fields\":[{\"name\":\"skyfunction_name\",\"type\":\"string\"},{\"name\":\"count\",\"type\":\"int64\"}]},{\"id\":\"EventFile\",\"fields\":[{\"name\":\"url\",\"type\":\"string\"},{\"name\":\"mod_time\",\"type\":\"time.Time\"},{\"name\":\"protocol\",\"type\":\"string\"},{\"name\":\"mime_type\",\"type\":\"string\"},{\"name\":\"status\",\"type\":\"string\"},{\"name\":\"reason\",\"type\":\"string\"}]},{\"id\":\"ExectionInfo\",\"fields\":[{\"name\":\"timeout_seconds\",\"type\":\"int32\"},{\"name\":\"strategy\",\"type\":\"string\"},{\"name\":\"cached_remotely\",\"type\":\"bool\"},{\"name\":\"exit_code\",\"type\":\"int32\"},{\"name\":\"hostname\",\"type\":\"string\"}]},{\"id\":\"FilesMetric\",\"fields\":[{\"name\":\"size_in_bytes\",\"type\":\"int64\"},{\"name\":\"count\",\"type\":\"int32\"}]},{\"id\":\"GarbageMetrics\",\"fields\":[{\"name\":\"type\",\"type\":\"string\"},{\"name\":\"garbage_collected\",\"type\":\"int64\"}]},{\"id\":\"MemoryMetrics\",\"fields\":[{\"name\":\"peak_post_gc_heap_size\",\"type\":\"int64\"},{\"name\":\"used_heap_size_post_build\",\"type\":\"int64\"},{\"name\":\"peak_post_gc_tenured_space_heap_size\",\"type\":\"int64\"}]},{\"id\":\"Metrics\",\"fields\":null},{\"id\":\"MissDetail\",\"fields\":[{\"name\":\"reason\",\"type\":\"missdetail.Reason\"},{\"name\":\"count\",\"type\":\"int32\"}]},{\"id\":\"NamedSetOfFiles\",\"fields\":null},{\"id\":\"NetworkMetrics\",\"fields\":null},{\"id\":\"OutputGroup\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"incomplete\",\"type\":\"bool\"}]},{\"id\":\"PackageLoadMetrics\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"load_duration\",\"type\":\"int64\"},{\"name\":\"num_targets\",\"type\":\"uint64\"},{\"name\":\"computation_steps\",\"type\":\"uint64\"},{\"name\":\"num_transitive_loads\",\"type\":\"uint64\"},{\"name\":\"package_overhead\",\"type\":\"uint64\"}]},{\"id\":\"PackageMetrics\",\"fields\":[{\"name\":\"packages_loaded\",\"type\":\"int64\"}]},{\"id\":\"RaceStatistics\",\"fields\":[{\"name\":\"mnemonic\",\"type\":\"string\"},{\"name\":\"local_runner\",\"type\":\"string\"},{\"name\":\"remote_runner\",\"type\":\"string\"},{\"name\":\"local_wins\",\"type\":\"int64\"},{\"name\":\"renote_wins\",\"type\":\"int64\"}]},{\"id\":\"ResourceUsage\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"}]},{\"id\":\"RunnerCount\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"exec_kind\",\"type\":\"string\"},{\"name\":\"actions_executed\",\"type\":\"int64\"}]},{\"id\":\"SourceControl\",\"fields\":[{\"name\":\"repo_url\",\"type\":\"string\"},{\"name\":\"branch\",\"type\":\"string\"},{\"name\":\"commit_sha\",\"type\":\"string\"},{\"name\":\"actor\",\"type\":\"string\"},{\"name\":\"refs\",\"type\":\"string\"},{\"name\":\"run_id\",\"type\":\"string\"},{\"name\":\"workflow\",\"type\":\"string\"},{\"name\":\"action\",\"type\":\"string\"},{\"name\":\"workspace\",\"type\":\"string\"},{\"name\":\"event_name\",\"type\":\"string\"},{\"name\":\"job\",\"type\":\"string\"},{\"name\":\"runner_name\",\"type\":\"string\"},{\"name\":\"runner_arch\",\"type\":\"string\"},{\"name\":\"runner_os\",\"type\":\"string\"}]},{\"id\":\"SystemNetworkStats\",\"fields\":[{\"name\":\"bytes_sent\",\"type\":\"uint64\"},{\"name\":\"bytes_recv\",\"type\":\"uint64\"},{\"name\":\"packets_sent\",\"type\":\"uint64\"},{\"name\":\"packets_recv\",\"type\":\"uint64\"},{\"name\":\"peak_bytes_sent_per_sec\",\"type\":\"uint64\"},{\"name\":\"peak_bytes_recv_per_sec\",\"type\":\"uint64\"},{\"name\":\"peak_packets_sent_per_sec\",\"type\":\"uint64\"},{\"name\":\"peak_packets_recv_per_sec\",\"type\":\"uint64\"}]},{\"id\":\"TargetComplete\",\"fields\":[{\"name\":\"success\",\"type\":\"bool\"},{\"name\":\"tag\",\"type\":\"[]string\"},{\"name\":\"target_kind\",\"type\":\"string\"},{\"name\":\"end_time_in_ms\",\"type\":\"int64\"},{\"name\":\"test_timeout_seconds\",\"type\":\"int64\"},{\"name\":\"test_timeout\",\"type\":\"int64\"},{\"name\":\"test_size\",\"type\":\"targetcomplete.TestSize\"}]},{\"id\":\"TargetConfigured\",\"fields\":[{\"name\":\"tag\",\"type\":\"[]string\"},{\"name\":\"target_kind\",\"type\":\"string\"},{\"name\":\"start_time_in_ms\",\"type\":\"int64\"},{\"name\":\"test_size\",\"type\":\"targetconfigured.TestSize\"}]},{\"id\":\"TargetMetrics\",\"fields\":[{\"name\":\"targets_loaded\",\"type\":\"int64\"},{\"name\":\"targets_configured\",\"type\":\"int64\"},{\"name\":\"targets_configured_not_including_aspects\",\"type\":\"int64\"}]},{\"id\":\"TargetPair\",\"fields\":[{\"name\":\"label\",\"type\":\"string\"},{\"name\":\"duration_in_ms\",\"type\":\"int64\"},{\"name\":\"success\",\"type\":\"bool\"},{\"name\":\"target_kind\",\"type\":\"string\"},{\"name\":\"test_size\",\"type\":\"targetpair.TestSize\"},{\"name\":\"abort_reason\",\"type\":\"targetpair.AbortReason\"}]},{\"id\":\"TestCollection\",\"fields\":[{\"name\":\"label\",\"type\":\"string\"},{\"name\":\"overall_status\",\"type\":\"testcollection.OverallStatus\"},{\"name\":\"strategy\",\"type\":\"string\"},{\"name\":\"cached_locally\",\"type\":\"bool\"},{\"name\":\"cached_remotely\",\"type\":\"bool\"},{\"name\":\"first_seen\",\"type\":\"time.Time\"},{\"name\":\"duration_ms\",\"type\":\"int64\"}]},{\"id\":\"TestFile\",\"fields\":[{\"name\":\"digest\",\"type\":\"string\"},{\"name\":\"file\",\"type\":\"string\"},{\"name\":\"length\",\"type\":\"int64\"},{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"prefix\",\"type\":\"[]string\"}]},{\"id\":\"TestResultBES\",\"fields\":[{\"name\":\"test_status\",\"type\":\"testresultbes.TestStatus\"},{\"name\":\"status_details\",\"type\":\"string\"},{\"name\":\"label\",\"type\":\"string\"},{\"name\":\"warning\",\"type\":\"[]string\"},{\"name\":\"cached_locally\",\"type\":\"bool\"},{\"name\":\"test_attempt_start_millis_epoch\",\"type\":\"int64\"},{\"name\":\"test_attempt_start\",\"type\":\"string\"},{\"name\":\"test_attempt_duration_millis\",\"type\":\"int64\"},{\"name\":\"test_attempt_duration\",\"type\":\"int64\"}]},{\"id\":\"TestSummary\",\"fields\":[{\"name\":\"overall_status\",\"type\":\"testsummary.OverallStatus\"},{\"name\":\"total_run_count\",\"type\":\"int32\"},{\"name\":\"run_count\",\"type\":\"int32\"},{\"name\":\"attempt_count\",\"type\":\"int32\"},{\"name\":\"shard_count\",\"type\":\"int32\"},{\"name\":\"total_num_cached\",\"type\":\"int32\"},{\"name\":\"first_start_time\",\"type\":\"int64\"},{\"name\":\"last_stop_time\",\"type\":\"int64\"},{\"name\":\"total_run_duration\",\"type\":\"int64\"},{\"name\":\"label\",\"type\":\"string\"}]},{\"id\":\"TimingBreakdown\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"time\",\"type\":\"string\"}]},{\"id\":\"TimingChild\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"time\",\"type\":\"string\"}]},{\"id\":\"TimingMetrics\",\"fields\":[{\"name\":\"cpu_time_in_ms\",\"type\":\"int64\"},{\"name\":\"wall_time_in_ms\",\"type\":\"int64\"},{\"name\":\"analysis_phase_time_in_ms\",\"type\":\"int64\"},{\"name\":\"execution_phase_time_in_ms\",\"type\":\"int64\"},{\"name\":\"actions_execution_start_in_ms\",\"type\":\"int64\"}]}],\"edges\":[{\"from\":\"ActionCacheStatistics\",\"to\":\"MissDetail\",\"label\":\"miss_details\"},{\"from\":\"ActionSummary\",\"to\":\"ActionData\",\"label\":\"action_data\"},{\"from\":\"ActionSummary\",\"to\":\"RunnerCount\",\"label\":\"runner_count\"},{\"from\":\"ActionSummary\",\"to\":\"ActionCacheStatistics\",\"label\":\"action_cache_statistics\"},{\"from\":\"ArtifactMetrics\",\"to\":\"FilesMetric\",\"label\":\"source_artifacts_read\"},{\"from\":\"ArtifactMetrics\",\"to\":\"FilesMetric\",\"label\":\"output_artifacts_seen\"},{\"from\":\"ArtifactMetrics\",\"to\":\"FilesMetric\",\"label\":\"output_artifacts_from_action_cache\"},{\"from\":\"ArtifactMetrics\",\"to\":\"FilesMetric\",\"label\":\"top_level_artifacts\"},{\"from\":\"BazelInvocation\",\"to\":\"BazelInvocationProblem\",\"label\":\"problems\"},{\"from\":\"BazelInvocation\",\"to\":\"Metrics\",\"label\":\"metrics\"},{\"from\":\"BazelInvocation\",\"to\":\"TestCollection\",\"label\":\"test_collection\"},{\"from\":\"BazelInvocation\",\"to\":\"TargetPair\",\"label\":\"targets\"},{\"from\":\"BazelInvocation\",\"to\":\"SourceControl\",\"label\":\"source_control\"},{\"from\":\"Build\",\"to\":\"BazelInvocation\",\"label\":\"invocations\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"dirtied_values\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"changed_values\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"built_values\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"cleaned_values\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"evaluated_values\"},{\"from\":\"DynamicExecutionMetrics\",\"to\":\"RaceStatistics\",\"label\":\"race_statistics\"},{\"from\":\"EventFile\",\"to\":\"BazelInvocation\",\"label\":\"bazel_invocation\"},{\"from\":\"ExectionInfo\",\"to\":\"TimingBreakdown\",\"label\":\"timing_breakdown\"},{\"from\":\"ExectionInfo\",\"to\":\"ResourceUsage\",\"label\":\"resource_usage\"},{\"from\":\"MemoryMetrics\",\"to\":\"GarbageMetrics\",\"label\":\"garbage_metrics\"},{\"from\":\"Metrics\",\"to\":\"ActionSummary\",\"label\":\"action_summary\"},{\"from\":\"Metrics\",\"to\":\"MemoryMetrics\",\"label\":\"memory_metrics\"},{\"from\":\"Metrics\",\"to\":\"TargetMetrics\",\"label\":\"target_metrics\"},{\"from\":\"Metrics\",\"to\":\"PackageMetrics\",\"label\":\"package_metrics\"},{\"from\":\"Metrics\",\"to\":\"TimingMetrics\",\"label\":\"timing_metrics\"},{\"from\":\"Metrics\",\"to\":\"CumulativeMetrics\",\"label\":\"cumulative_metrics\"},{\"from\":\"Metrics\",\"to\":\"ArtifactMetrics\",\"label\":\"artifact_metrics\"},{\"from\":\"Metrics\",\"to\":\"NetworkMetrics\",\"label\":\"network_metrics\"},{\"from\":\"Metrics\",\"to\":\"DynamicExecutionMetrics\",\"label\":\"dynamic_execution_metrics\"},{\"from\":\"Metrics\",\"to\":\"BuildGraphMetrics\",\"label\":\"build_graph_metrics\"},{\"from\":\"NamedSetOfFiles\",\"to\":\"TestFile\",\"label\":\"files\"},{\"from\":\"NamedSetOfFiles\",\"to\":\"NamedSetOfFiles\",\"label\":\"file_sets\"},{\"from\":\"NetworkMetrics\",\"to\":\"SystemNetworkStats\",\"label\":\"system_network_stats\"},{\"from\":\"OutputGroup\",\"to\":\"TestFile\",\"label\":\"inline_files\"},{\"from\":\"OutputGroup\",\"to\":\"NamedSetOfFiles\",\"label\":\"file_sets\"},{\"from\":\"PackageMetrics\",\"to\":\"PackageLoadMetrics\",\"label\":\"package_load_metrics\"},{\"from\":\"TargetComplete\",\"to\":\"TestFile\",\"label\":\"important_output\"},{\"from\":\"TargetComplete\",\"to\":\"TestFile\",\"label\":\"directory_output\"},{\"from\":\"TargetComplete\",\"to\":\"OutputGroup\",\"label\":\"output_group\"},{\"from\":\"TargetPair\",\"to\":\"TargetConfigured\",\"label\":\"configuration\"},{\"from\":\"TargetPair\",\"to\":\"TargetComplete\",\"label\":\"completion\"},{\"from\":\"TestCollection\",\"to\":\"TestSummary\",\"label\":\"test_summary\"},{\"from\":\"TestCollection\",\"to\":\"TestResultBES\",\"label\":\"test_results\"},{\"from\":\"TestResultBES\",\"to\":\"TestFile\",\"label\":\"test_action_output\"},{\"from\":\"TestResultBES\",\"to\":\"ExectionInfo\",\"label\":\"execution_info\"},{\"from\":\"TestSummary\",\"to\":\"TestFile\",\"label\":\"passed\"},{\"from\":\"TestSummary\",\"to\":\"TestFile\",\"label\":\"failed\"},{\"from\":\"TimingBreakdown\",\"to\":\"TimingChild\",\"label\":\"child\"}]}");
+ const entGraph = JSON.parse("{\"nodes\":[{\"id\":\"ActionCacheStatistics\",\"fields\":[{\"name\":\"size_in_bytes\",\"type\":\"uint64\"},{\"name\":\"save_time_in_ms\",\"type\":\"uint64\"},{\"name\":\"load_time_in_ms\",\"type\":\"int64\"},{\"name\":\"hits\",\"type\":\"int32\"},{\"name\":\"misses\",\"type\":\"int32\"}]},{\"id\":\"ActionData\",\"fields\":[{\"name\":\"mnemonic\",\"type\":\"string\"},{\"name\":\"actions_executed\",\"type\":\"int64\"},{\"name\":\"actions_created\",\"type\":\"int64\"},{\"name\":\"first_started_ms\",\"type\":\"int64\"},{\"name\":\"last_ended_ms\",\"type\":\"int64\"},{\"name\":\"system_time\",\"type\":\"int64\"},{\"name\":\"user_time\",\"type\":\"int64\"}]},{\"id\":\"ActionSummary\",\"fields\":[{\"name\":\"actions_created\",\"type\":\"int64\"},{\"name\":\"actions_created_not_including_aspects\",\"type\":\"int64\"},{\"name\":\"actions_executed\",\"type\":\"int64\"},{\"name\":\"remote_cache_hits\",\"type\":\"int64\"}]},{\"id\":\"ArtifactMetrics\",\"fields\":null},{\"id\":\"BazelInvocation\",\"fields\":[{\"name\":\"invocation_id\",\"type\":\"uuid.UUID\"},{\"name\":\"started_at\",\"type\":\"time.Time\"},{\"name\":\"ended_at\",\"type\":\"time.Time\"},{\"name\":\"change_number\",\"type\":\"int\"},{\"name\":\"patchset_number\",\"type\":\"int\"},{\"name\":\"summary\",\"type\":\"summary.InvocationSummary\"},{\"name\":\"bep_completed\",\"type\":\"bool\"},{\"name\":\"step_label\",\"type\":\"string\"},{\"name\":\"related_files\",\"type\":\"map[string]string\"},{\"name\":\"user_email\",\"type\":\"string\"},{\"name\":\"user_ldap\",\"type\":\"string\"},{\"name\":\"build_logs\",\"type\":\"string\"},{\"name\":\"cpu\",\"type\":\"string\"},{\"name\":\"platform_name\",\"type\":\"string\"},{\"name\":\"hostname\",\"type\":\"string\"},{\"name\":\"is_ci_worker\",\"type\":\"bool\"},{\"name\":\"configuration_mnemonic\",\"type\":\"string\"},{\"name\":\"num_fetches\",\"type\":\"int64\"},{\"name\":\"profile_name\",\"type\":\"string\"}]},{\"id\":\"BazelInvocationProblem\",\"fields\":[{\"name\":\"problem_type\",\"type\":\"string\"},{\"name\":\"label\",\"type\":\"string\"},{\"name\":\"bep_events\",\"type\":\"json.RawMessage\"}]},{\"id\":\"Blob\",\"fields\":[{\"name\":\"uri\",\"type\":\"string\"},{\"name\":\"size_bytes\",\"type\":\"int64\"},{\"name\":\"archiving_status\",\"type\":\"blob.ArchivingStatus\"},{\"name\":\"reason\",\"type\":\"string\"},{\"name\":\"archive_url\",\"type\":\"string\"}]},{\"id\":\"Build\",\"fields\":[{\"name\":\"build_url\",\"type\":\"string\"},{\"name\":\"build_uuid\",\"type\":\"uuid.UUID\"},{\"name\":\"env\",\"type\":\"map[string]string\"},{\"name\":\"timestamp\",\"type\":\"time.Time\"}]},{\"id\":\"BuildGraphMetrics\",\"fields\":[{\"name\":\"action_lookup_value_count\",\"type\":\"int32\"},{\"name\":\"action_lookup_value_count_not_including_aspects\",\"type\":\"int32\"},{\"name\":\"action_count\",\"type\":\"int32\"},{\"name\":\"action_count_not_including_aspects\",\"type\":\"int32\"},{\"name\":\"input_file_configured_target_count\",\"type\":\"int32\"},{\"name\":\"output_file_configured_target_count\",\"type\":\"int32\"},{\"name\":\"other_configured_target_count\",\"type\":\"int32\"},{\"name\":\"output_artifact_count\",\"type\":\"int32\"},{\"name\":\"post_invocation_skyframe_node_count\",\"type\":\"int32\"}]},{\"id\":\"CumulativeMetrics\",\"fields\":[{\"name\":\"num_analyses\",\"type\":\"int32\"},{\"name\":\"num_builds\",\"type\":\"int32\"}]},{\"id\":\"DynamicExecutionMetrics\",\"fields\":null},{\"id\":\"EvaluationStat\",\"fields\":[{\"name\":\"skyfunction_name\",\"type\":\"string\"},{\"name\":\"count\",\"type\":\"int64\"}]},{\"id\":\"EventFile\",\"fields\":[{\"name\":\"url\",\"type\":\"string\"},{\"name\":\"mod_time\",\"type\":\"time.Time\"},{\"name\":\"protocol\",\"type\":\"string\"},{\"name\":\"mime_type\",\"type\":\"string\"},{\"name\":\"status\",\"type\":\"string\"},{\"name\":\"reason\",\"type\":\"string\"}]},{\"id\":\"ExectionInfo\",\"fields\":[{\"name\":\"timeout_seconds\",\"type\":\"int32\"},{\"name\":\"strategy\",\"type\":\"string\"},{\"name\":\"cached_remotely\",\"type\":\"bool\"},{\"name\":\"exit_code\",\"type\":\"int32\"},{\"name\":\"hostname\",\"type\":\"string\"}]},{\"id\":\"FilesMetric\",\"fields\":[{\"name\":\"size_in_bytes\",\"type\":\"int64\"},{\"name\":\"count\",\"type\":\"int32\"}]},{\"id\":\"GarbageMetrics\",\"fields\":[{\"name\":\"type\",\"type\":\"string\"},{\"name\":\"garbage_collected\",\"type\":\"int64\"}]},{\"id\":\"MemoryMetrics\",\"fields\":[{\"name\":\"peak_post_gc_heap_size\",\"type\":\"int64\"},{\"name\":\"used_heap_size_post_build\",\"type\":\"int64\"},{\"name\":\"peak_post_gc_tenured_space_heap_size\",\"type\":\"int64\"}]},{\"id\":\"Metrics\",\"fields\":null},{\"id\":\"MissDetail\",\"fields\":[{\"name\":\"reason\",\"type\":\"missdetail.Reason\"},{\"name\":\"count\",\"type\":\"int32\"}]},{\"id\":\"NamedSetOfFiles\",\"fields\":null},{\"id\":\"NetworkMetrics\",\"fields\":null},{\"id\":\"OutputGroup\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"incomplete\",\"type\":\"bool\"}]},{\"id\":\"PackageLoadMetrics\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"load_duration\",\"type\":\"int64\"},{\"name\":\"num_targets\",\"type\":\"uint64\"},{\"name\":\"computation_steps\",\"type\":\"uint64\"},{\"name\":\"num_transitive_loads\",\"type\":\"uint64\"},{\"name\":\"package_overhead\",\"type\":\"uint64\"}]},{\"id\":\"PackageMetrics\",\"fields\":[{\"name\":\"packages_loaded\",\"type\":\"int64\"}]},{\"id\":\"RaceStatistics\",\"fields\":[{\"name\":\"mnemonic\",\"type\":\"string\"},{\"name\":\"local_runner\",\"type\":\"string\"},{\"name\":\"remote_runner\",\"type\":\"string\"},{\"name\":\"local_wins\",\"type\":\"int64\"},{\"name\":\"renote_wins\",\"type\":\"int64\"}]},{\"id\":\"ResourceUsage\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"}]},{\"id\":\"RunnerCount\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"exec_kind\",\"type\":\"string\"},{\"name\":\"actions_executed\",\"type\":\"int64\"}]},{\"id\":\"SourceControl\",\"fields\":[{\"name\":\"repo_url\",\"type\":\"string\"},{\"name\":\"branch\",\"type\":\"string\"},{\"name\":\"commit_sha\",\"type\":\"string\"},{\"name\":\"actor\",\"type\":\"string\"},{\"name\":\"refs\",\"type\":\"string\"},{\"name\":\"run_id\",\"type\":\"string\"},{\"name\":\"workflow\",\"type\":\"string\"},{\"name\":\"action\",\"type\":\"string\"},{\"name\":\"workspace\",\"type\":\"string\"},{\"name\":\"event_name\",\"type\":\"string\"},{\"name\":\"job\",\"type\":\"string\"},{\"name\":\"runner_name\",\"type\":\"string\"},{\"name\":\"runner_arch\",\"type\":\"string\"},{\"name\":\"runner_os\",\"type\":\"string\"}]},{\"id\":\"SystemNetworkStats\",\"fields\":[{\"name\":\"bytes_sent\",\"type\":\"uint64\"},{\"name\":\"bytes_recv\",\"type\":\"uint64\"},{\"name\":\"packets_sent\",\"type\":\"uint64\"},{\"name\":\"packets_recv\",\"type\":\"uint64\"},{\"name\":\"peak_bytes_sent_per_sec\",\"type\":\"uint64\"},{\"name\":\"peak_bytes_recv_per_sec\",\"type\":\"uint64\"},{\"name\":\"peak_packets_sent_per_sec\",\"type\":\"uint64\"},{\"name\":\"peak_packets_recv_per_sec\",\"type\":\"uint64\"}]},{\"id\":\"TargetComplete\",\"fields\":[{\"name\":\"success\",\"type\":\"bool\"},{\"name\":\"tag\",\"type\":\"[]string\"},{\"name\":\"target_kind\",\"type\":\"string\"},{\"name\":\"end_time_in_ms\",\"type\":\"int64\"},{\"name\":\"test_timeout_seconds\",\"type\":\"int64\"},{\"name\":\"test_timeout\",\"type\":\"int64\"},{\"name\":\"test_size\",\"type\":\"targetcomplete.TestSize\"}]},{\"id\":\"TargetConfigured\",\"fields\":[{\"name\":\"tag\",\"type\":\"[]string\"},{\"name\":\"target_kind\",\"type\":\"string\"},{\"name\":\"start_time_in_ms\",\"type\":\"int64\"},{\"name\":\"test_size\",\"type\":\"targetconfigured.TestSize\"}]},{\"id\":\"TargetMetrics\",\"fields\":[{\"name\":\"targets_loaded\",\"type\":\"int64\"},{\"name\":\"targets_configured\",\"type\":\"int64\"},{\"name\":\"targets_configured_not_including_aspects\",\"type\":\"int64\"}]},{\"id\":\"TargetPair\",\"fields\":[{\"name\":\"label\",\"type\":\"string\"},{\"name\":\"duration_in_ms\",\"type\":\"int64\"},{\"name\":\"success\",\"type\":\"bool\"},{\"name\":\"target_kind\",\"type\":\"string\"},{\"name\":\"test_size\",\"type\":\"targetpair.TestSize\"},{\"name\":\"abort_reason\",\"type\":\"targetpair.AbortReason\"}]},{\"id\":\"TestCollection\",\"fields\":[{\"name\":\"label\",\"type\":\"string\"},{\"name\":\"overall_status\",\"type\":\"testcollection.OverallStatus\"},{\"name\":\"strategy\",\"type\":\"string\"},{\"name\":\"cached_locally\",\"type\":\"bool\"},{\"name\":\"cached_remotely\",\"type\":\"bool\"},{\"name\":\"first_seen\",\"type\":\"time.Time\"},{\"name\":\"duration_ms\",\"type\":\"int64\"}]},{\"id\":\"TestFile\",\"fields\":[{\"name\":\"digest\",\"type\":\"string\"},{\"name\":\"file\",\"type\":\"string\"},{\"name\":\"length\",\"type\":\"int64\"},{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"prefix\",\"type\":\"[]string\"}]},{\"id\":\"TestResultBES\",\"fields\":[{\"name\":\"test_status\",\"type\":\"testresultbes.TestStatus\"},{\"name\":\"status_details\",\"type\":\"string\"},{\"name\":\"label\",\"type\":\"string\"},{\"name\":\"warning\",\"type\":\"[]string\"},{\"name\":\"cached_locally\",\"type\":\"bool\"},{\"name\":\"test_attempt_start_millis_epoch\",\"type\":\"int64\"},{\"name\":\"test_attempt_start\",\"type\":\"string\"},{\"name\":\"test_attempt_duration_millis\",\"type\":\"int64\"},{\"name\":\"test_attempt_duration\",\"type\":\"int64\"}]},{\"id\":\"TestSummary\",\"fields\":[{\"name\":\"overall_status\",\"type\":\"testsummary.OverallStatus\"},{\"name\":\"total_run_count\",\"type\":\"int32\"},{\"name\":\"run_count\",\"type\":\"int32\"},{\"name\":\"attempt_count\",\"type\":\"int32\"},{\"name\":\"shard_count\",\"type\":\"int32\"},{\"name\":\"total_num_cached\",\"type\":\"int32\"},{\"name\":\"first_start_time\",\"type\":\"int64\"},{\"name\":\"last_stop_time\",\"type\":\"int64\"},{\"name\":\"total_run_duration\",\"type\":\"int64\"},{\"name\":\"label\",\"type\":\"string\"}]},{\"id\":\"TimingBreakdown\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"time\",\"type\":\"string\"}]},{\"id\":\"TimingChild\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"time\",\"type\":\"string\"}]},{\"id\":\"TimingMetrics\",\"fields\":[{\"name\":\"cpu_time_in_ms\",\"type\":\"int64\"},{\"name\":\"wall_time_in_ms\",\"type\":\"int64\"},{\"name\":\"analysis_phase_time_in_ms\",\"type\":\"int64\"},{\"name\":\"execution_phase_time_in_ms\",\"type\":\"int64\"},{\"name\":\"actions_execution_start_in_ms\",\"type\":\"int64\"}]}],\"edges\":[{\"from\":\"ActionCacheStatistics\",\"to\":\"MissDetail\",\"label\":\"miss_details\"},{\"from\":\"ActionSummary\",\"to\":\"ActionData\",\"label\":\"action_data\"},{\"from\":\"ActionSummary\",\"to\":\"RunnerCount\",\"label\":\"runner_count\"},{\"from\":\"ActionSummary\",\"to\":\"ActionCacheStatistics\",\"label\":\"action_cache_statistics\"},{\"from\":\"ArtifactMetrics\",\"to\":\"FilesMetric\",\"label\":\"source_artifacts_read\"},{\"from\":\"ArtifactMetrics\",\"to\":\"FilesMetric\",\"label\":\"output_artifacts_seen\"},{\"from\":\"ArtifactMetrics\",\"to\":\"FilesMetric\",\"label\":\"output_artifacts_from_action_cache\"},{\"from\":\"ArtifactMetrics\",\"to\":\"FilesMetric\",\"label\":\"top_level_artifacts\"},{\"from\":\"BazelInvocation\",\"to\":\"BazelInvocationProblem\",\"label\":\"problems\"},{\"from\":\"BazelInvocation\",\"to\":\"Metrics\",\"label\":\"metrics\"},{\"from\":\"BazelInvocation\",\"to\":\"TestCollection\",\"label\":\"test_collection\"},{\"from\":\"BazelInvocation\",\"to\":\"TargetPair\",\"label\":\"targets\"},{\"from\":\"BazelInvocation\",\"to\":\"SourceControl\",\"label\":\"source_control\"},{\"from\":\"Build\",\"to\":\"BazelInvocation\",\"label\":\"invocations\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"dirtied_values\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"changed_values\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"built_values\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"cleaned_values\"},{\"from\":\"BuildGraphMetrics\",\"to\":\"EvaluationStat\",\"label\":\"evaluated_values\"},{\"from\":\"DynamicExecutionMetrics\",\"to\":\"RaceStatistics\",\"label\":\"race_statistics\"},{\"from\":\"EventFile\",\"to\":\"BazelInvocation\",\"label\":\"bazel_invocation\"},{\"from\":\"ExectionInfo\",\"to\":\"TimingBreakdown\",\"label\":\"timing_breakdown\"},{\"from\":\"ExectionInfo\",\"to\":\"ResourceUsage\",\"label\":\"resource_usage\"},{\"from\":\"MemoryMetrics\",\"to\":\"GarbageMetrics\",\"label\":\"garbage_metrics\"},{\"from\":\"Metrics\",\"to\":\"ActionSummary\",\"label\":\"action_summary\"},{\"from\":\"Metrics\",\"to\":\"MemoryMetrics\",\"label\":\"memory_metrics\"},{\"from\":\"Metrics\",\"to\":\"TargetMetrics\",\"label\":\"target_metrics\"},{\"from\":\"Metrics\",\"to\":\"PackageMetrics\",\"label\":\"package_metrics\"},{\"from\":\"Metrics\",\"to\":\"TimingMetrics\",\"label\":\"timing_metrics\"},{\"from\":\"Metrics\",\"to\":\"CumulativeMetrics\",\"label\":\"cumulative_metrics\"},{\"from\":\"Metrics\",\"to\":\"ArtifactMetrics\",\"label\":\"artifact_metrics\"},{\"from\":\"Metrics\",\"to\":\"NetworkMetrics\",\"label\":\"network_metrics\"},{\"from\":\"Metrics\",\"to\":\"DynamicExecutionMetrics\",\"label\":\"dynamic_execution_metrics\"},{\"from\":\"Metrics\",\"to\":\"BuildGraphMetrics\",\"label\":\"build_graph_metrics\"},{\"from\":\"NamedSetOfFiles\",\"to\":\"TestFile\",\"label\":\"files\"},{\"from\":\"NamedSetOfFiles\",\"to\":\"NamedSetOfFiles\",\"label\":\"file_sets\"},{\"from\":\"NetworkMetrics\",\"to\":\"SystemNetworkStats\",\"label\":\"system_network_stats\"},{\"from\":\"OutputGroup\",\"to\":\"TestFile\",\"label\":\"inline_files\"},{\"from\":\"OutputGroup\",\"to\":\"NamedSetOfFiles\",\"label\":\"file_sets\"},{\"from\":\"PackageMetrics\",\"to\":\"PackageLoadMetrics\",\"label\":\"package_load_metrics\"},{\"from\":\"TargetComplete\",\"to\":\"TestFile\",\"label\":\"important_output\"},{\"from\":\"TargetComplete\",\"to\":\"TestFile\",\"label\":\"directory_output\"},{\"from\":\"TargetComplete\",\"to\":\"OutputGroup\",\"label\":\"output_group\"},{\"from\":\"TargetPair\",\"to\":\"TargetConfigured\",\"label\":\"configuration\"},{\"from\":\"TargetPair\",\"to\":\"TargetComplete\",\"label\":\"completion\"},{\"from\":\"TestCollection\",\"to\":\"TestSummary\",\"label\":\"test_summary\"},{\"from\":\"TestCollection\",\"to\":\"TestResultBES\",\"label\":\"test_results\"},{\"from\":\"TestResultBES\",\"to\":\"TestFile\",\"label\":\"test_action_output\"},{\"from\":\"TestResultBES\",\"to\":\"ExectionInfo\",\"label\":\"execution_info\"},{\"from\":\"TestSummary\",\"to\":\"TestFile\",\"label\":\"passed\"},{\"from\":\"TestSummary\",\"to\":\"TestFile\",\"label\":\"failed\"},{\"from\":\"TimingBreakdown\",\"to\":\"TimingChild\",\"label\":\"child\"}]}");
const nodes = new vis.DataSet((entGraph.nodes || []).map(n =>
({
id: n.id,
diff --git a/ent/schema/build.go b/ent/schema/build.go
index 0de8ec9..e17d5fc 100644
--- a/ent/schema/build.go
+++ b/ent/schema/build.go
@@ -21,6 +21,7 @@ func (Build) Fields() []ent.Field {
field.String("build_url").Unique().Immutable(),
field.UUID("build_uuid", uuid.UUID{}).Unique().Immutable(),
field.JSON("env", map[string]string{}).Annotations(entgql.Skip()), // NOTE: Uses custom resolver.
+ field.Time("timestamp").Optional(),
}
}
diff --git a/frontend/src/app/builds/[buildUUID]/[[...slugs]]/index.graphql.ts b/frontend/src/app/builds/[buildUUID]/[[...slugs]]/index.graphql.ts
index 070156d..da6b949 100644
--- a/frontend/src/app/builds/[buildUUID]/[[...slugs]]/index.graphql.ts
+++ b/frontend/src/app/builds/[buildUUID]/[[...slugs]]/index.graphql.ts
@@ -6,6 +6,7 @@ export const FIND_BUILD_BY_UUID_QUERY = gql(/* GraphQL */ `
id
buildURL
buildUUID
+ timestamp
invocations {
...FullBazelInvocationDetails
}
diff --git a/frontend/src/app/builds/[buildUUID]/[[...slugs]]/layout.helpers.tsx b/frontend/src/app/builds/[buildUUID]/[[...slugs]]/layout.helpers.tsx
index c17c142..25f59ff 100644
--- a/frontend/src/app/builds/[buildUUID]/[[...slugs]]/layout.helpers.tsx
+++ b/frontend/src/app/builds/[buildUUID]/[[...slugs]]/layout.helpers.tsx
@@ -30,7 +30,7 @@ const getBuildStepsMenuItems = (
return getItem({
depth: menuItemDepth,
href: `${pathBase}/${encodeURIComponent(invocation.invocationID)}`,
- title: invocation.invocationID,
+ title: invocation.stepLabel == "" ?invocation.invocationID : invocation.stepLabel,
icon: ,
danger: invocation.state.exitCode?.name !== BuildStepResultEnum.SUCCESS,
activeMenuItemRef,
diff --git a/frontend/src/components/AppBar/index.module.css b/frontend/src/components/AppBar/index.module.css
index 4538905..4c7ddce 100644
--- a/frontend/src/components/AppBar/index.module.css
+++ b/frontend/src/components/AppBar/index.module.css
@@ -64,4 +64,10 @@
.linkItem {
/* empty style will override default behavior of hiding on smaller screen. */
+}
+
+.normalWeight {
+ font-weight: normal;
+ font-size-adjust: calc(.5);
+ padding-left: 10px;
}
\ No newline at end of file
diff --git a/frontend/src/components/BazelInvocation/index.tsx b/frontend/src/components/BazelInvocation/index.tsx
index dfeb515..241bdd7 100644
--- a/frontend/src/components/BazelInvocation/index.tsx
+++ b/frontend/src/components/BazelInvocation/index.tsx
@@ -58,6 +58,7 @@ import BuildProblems from "../Problems";
const BazelInvocation: React.FC<{
invocationOverview: BazelInvocationInfoFragment;
isNestedWithinBuildCard?: boolean;
+ collapsed?: boolean
}> = ({ invocationOverview, isNestedWithinBuildCard }) => {
const {
invocationID,
@@ -75,7 +76,8 @@ const BazelInvocation: React.FC<{
configurationMnemonic,
stepLabel,
hostname,
- isCiWorker
+ isCiWorker,
+ collapsed,
//relatedFiles,
} = invocationOverview;
@@ -121,8 +123,8 @@ const BazelInvocation: React.FC<{
//build the title
let { exitCode } = state;
exitCode = exitCode ?? null;
- const titleBits: React.ReactNode[] = [User: {user?.LDAP}];
- titleBits.push(Invocation: {invocationID})
+ const titleBits: React.ReactNode[] = [User: {user?.LDAP}];
+ titleBits.push(Invocation ID: {invocationID} )
titleBits.push(
)
@@ -130,6 +132,20 @@ const BazelInvocation: React.FC<{
titleBits.push();
}
+ const extraBits: React.ReactNode[] = [
+ ,
+ ];
+
+ if (env('NEXT_PUBLIC_BROWSER_URL') && profile) {
+ var url = new URL(`blobs/sha256/file/${profile.digest}-${profile.sizeInBytes}/${profile.name}`, env('NEXT_PUBLIC_BROWSER_URL'))
+ extraBits.push(
+
+ );
+ }
+
+ if (!isNestedWithinBuildCard && build?.buildUUID) {
+ extraBits.unshift(Build {build.buildUUID});
+ }
const hideTestsTab: boolean = (testCollection?.length ?? 0) == 0
const hideTargetsTab: boolean = (targetData?.length ?? 0) == 0 ? true : false
@@ -330,21 +346,6 @@ const BazelInvocation: React.FC<{
}
}
- const extraBits: React.ReactNode[] = [
- ,
- ];
-
- if (env('NEXT_PUBLIC_BROWSER_URL') && profile) {
- var url = new URL(`blobs/sha256/file/${profile.digest}-${profile.sizeInBytes}/${profile.name}`, env('NEXT_PUBLIC_BROWSER_URL'))
- extraBits.push(
-
- );
- }
-
- if (!isNestedWithinBuildCard && build?.buildUUID) {
- extraBits.unshift(Build {build.buildUUID});
- }
-
return (
} titleBits={titleBits} extraBits={extraBits}>
diff --git a/frontend/src/components/BazelInvocationsTable/Columns.tsx b/frontend/src/components/BazelInvocationsTable/Columns.tsx
index df98ec1..d9d0994 100644
--- a/frontend/src/components/BazelInvocationsTable/Columns.tsx
+++ b/frontend/src/components/BazelInvocationsTable/Columns.tsx
@@ -28,7 +28,6 @@ const startedAtColumn: ColumnType = {
key: 'startedAt',
width: 165,
title: 'Start Time',
- sorter: (a, b) => dayjs(a.startedAt).isBefore(dayjs(b.startedAt)) == true ? 0 : 1,
render: (_, record) => (
{dayjs(record.startedAt).format('YYYY-MM-DD hh:mm:ss A')}
@@ -56,6 +55,46 @@ const statusColumn: ColumnType = {
width: 120,
title: 'Result',
render: (_, record) => ,
+ filterIcon: filtered => } filtered={filtered} />,
+ onFilter: (value, record) => record.state.exitCode?.name == value,
+ filters:[
+ {
+ text: "Succeeded",
+ value: "SUCCESS",
+ },
+ {
+ text: "Unstable",
+ value: "UNSTABLE",
+ },
+ {
+ text: "Parsing Failed",
+ value: "PARSING_FAILURE",
+ },
+ {
+ text: "Build Failed",
+ value: "BUILD_FAILURE",
+ },
+ {
+ text: "Tests Failed",
+ value: "TESTS_FAILED",
+ },
+ {
+ text: "Not Built",
+ value: "NOT_BUILT",
+ },
+ {
+ text: "Aborted",
+ value: "ABORTED",
+ },
+ {
+ text: "Interrupted",
+ value: "INTERRUPTED",
+ },
+ {
+ text: "Status Unknown",
+ value: "UNKNOWN",
+ },
+ ]
};
const buildColumn: ColumnType = {
@@ -74,7 +113,9 @@ const userColumn: ColumnType = {
width: 120,
title: "User",
render: (_, record) => {record.user?.LDAP},
-
+ filterDropdown: filterProps => (
+
+ ),
filterIcon: filtered => } filtered={filtered} />,
}
diff --git a/frontend/src/components/BazelInvocationsTable/index.tsx b/frontend/src/components/BazelInvocationsTable/index.tsx
index 98f72ab..4f74241 100644
--- a/frontend/src/components/BazelInvocationsTable/index.tsx
+++ b/frontend/src/components/BazelInvocationsTable/index.tsx
@@ -50,6 +50,16 @@ const BazelInvocationsTable: React.FC = ({ height }) => {
if (filters['build']?.length) {
wheres.push({ hasBuildWith: [{ buildUUID: filters['build'][0].toString() }] });
}
+ if (filters["user"]?.length){
+ wheres.push({ userLdapContains: filters['user'][0].toString() });
+ }
+
+ //TODO extend where inputs to allow querying by result
+ //for now, this is a filter performed on pre-fetched results
+ // if (filters['result']?.length) {
+ // wheres.push({ })
+ // }
+
setVariables({
first: PAGE_SIZE,
where: wheres.length ? { and: [...wheres] } : wheres[0],
diff --git a/frontend/src/components/Build/index.tsx b/frontend/src/components/Build/index.tsx
index 61c5cf7..61ce4ad 100644
--- a/frontend/src/components/Build/index.tsx
+++ b/frontend/src/components/Build/index.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import linkifyHtml from 'linkify-html';
-import { Descriptions, Space, Typography } from 'antd';
+import { Space, Typography } from 'antd';
import themeStyles from '@/theme/theme.module.css';
import { FindBuildByUuidQuery } from '@/graphql/__generated__/graphql';
import PortalCard from '@/components/PortalCard';
@@ -9,13 +9,15 @@ import BuildStepStatusIcon from '@/components/BuildStepStatusIcon';
import { getFragmentData } from '@/graphql/__generated__';
import {
BAZEL_INVOCATION_FRAGMENT,
- FULL_BAZEL_INVOCATION_DETAILS, PROBLEM_INFO_FRAGMENT
+ FULL_BAZEL_INVOCATION_DETAILS,
} from "@/app/bazel-invocations/[invocationID]/index.graphql";
import byResultRank from "@/components/Build/index.helpers";
-import { maxBy } from "lodash";
+import { maxBy} from "lodash";
import { BuildStepResultEnum } from "@/components/BuildStepResultTag";
import BazelInvocation from "@/components/BazelInvocation";
-import BuildProblems from "@/components/Problems";
+import styles from "../AppBar/index.module.css"
+import dayjs from 'dayjs';
+import Link from 'next/link';
interface Props {
buildQueryResults: FindBuildByUuidQuery;
@@ -30,10 +32,22 @@ const Build: React.FC = ({ buildQueryResults, buildStepToDisplayID, inner
}
const titleBits: React.ReactNode[] = [
- Build: {build.buildUUID}
+ Build ID: {build.buildUUID}
+ ];
+ titleBits.push(
+
+ )
+ titleBits.push(Build URL: {build.buildURL}
+ )
+
+ const extraBits: React.ReactNode[] = [
+
+ {dayjs(build.timestamp).format('YYYY-MM-DD hh:mm:ss A')}
+
];
const invocations = getFragmentData(FULL_BAZEL_INVOCATION_DETAILS, build.invocations);
+
const aggregateBuildStepStatus =
maxBy(
invocations?.map(invocation => {
@@ -51,34 +65,29 @@ const Build: React.FC = ({ buildQueryResults, buildStepToDisplayID, inner
}
})
+//TODO: put these all in an accordian collapse for some additional organization
+
return (
}
titleBits={titleBits}
+ extraBits={extraBits}
>
- {envVarItems.length ? (
-
- ) : null}
+
{build.invocations ? (
<>
{
invocations?.map(invocation => {
const invocationOverview = getFragmentData(BAZEL_INVOCATION_FRAGMENT, invocation)
- //const problems = invocation.problems.map(p => getFragmentData(PROBLEM_INFO_FRAGMENT, p))
return (
-
-
+ />
);
})
}
diff --git a/frontend/src/components/BuildsTable/Columns.tsx b/frontend/src/components/BuildsTable/Columns.tsx
index 169878f..38522d8 100644
--- a/frontend/src/components/BuildsTable/Columns.tsx
+++ b/frontend/src/components/BuildsTable/Columns.tsx
@@ -3,12 +3,15 @@ import React from 'react';
import { SearchOutlined } from '@ant-design/icons';
import Link from 'next/link';
import { BuildNodeFragment } from '@/graphql/__generated__/graphql';
-import { SearchFilterIcon, SearchWidget } from '@/components/SearchWidgets';
+import { SearchFilterIcon, SearchWidget, TimeRangeSelector } from '@/components/SearchWidgets';
+import { Typography } from 'antd';
+import styles from '@/components/BazelInvocationsTable/Columns.module.css'
+import dayjs from 'dayjs';
const buildUuidColumn: ColumnType = {
key: 'buildUUID',
width: 220,
- title: 'Build',
+ title: 'Build ID',
render: (_, record) => {record.buildUUID},
filterDropdown: filterProps => (
@@ -19,7 +22,7 @@ const buildUuidColumn: ColumnType = {
const buildUrlColumn: ColumnType = {
key: 'buildURL',
width: 220,
- title: 'URL',
+ title: 'Build URL',
render: (_, record) => {record.buildURL},
filterDropdown: filterProps => (
@@ -27,10 +30,24 @@ const buildUrlColumn: ColumnType = {
filterIcon: filtered => } filtered={filtered} />,
};
+const buildDateColumn: ColumnType = {
+ key: 'buildDate',
+ width: 220,
+ title: 'Timestamp',
+ render: (_, record) => (
+
+ {dayjs(record.timestamp).format('YYYY-MM-DD hh:mm:ss A')}
+
+ ),
+ filterDropdown: filterProps => ,
+ filterIcon: filtered => } filtered={filtered} />,
+};
+
const getColumns = (): ColumnType[] => {
return [
buildUuidColumn,
buildUrlColumn,
+ buildDateColumn,
];
};
diff --git a/frontend/src/components/BuildsTable/index.tsx b/frontend/src/components/BuildsTable/index.tsx
index a472055..801a9cd 100644
--- a/frontend/src/components/BuildsTable/index.tsx
+++ b/frontend/src/components/BuildsTable/index.tsx
@@ -42,6 +42,15 @@ const BuildsTable: React.FC = ({ height }) => {
if (filters['buildURL']?.length) {
wheres.push({ buildURLHasPrefix: filters['buildURL'][0].toString() });
}
+ if (filters['buildDate']?.length === 2) {
+ if (filters['buildDate'][0]) {
+ wheres.push({ timestampGTE: filters['buildDate'][0]});
+ }
+ if (filters['buildDate'][1]) {
+ wheres.push({ timestampLTE: filters['buildDate'][1]});
+ }
+ }
+
setVariables({
first: PAGE_SIZE,
where: wheres.length ? { and: [...wheres] } : wheres[0],
diff --git a/frontend/src/components/BuildsTable/query.graphql.ts b/frontend/src/components/BuildsTable/query.graphql.ts
index d2ccdaa..1e2d004 100644
--- a/frontend/src/components/BuildsTable/query.graphql.ts
+++ b/frontend/src/components/BuildsTable/query.graphql.ts
@@ -20,6 +20,7 @@ export const BUILD_NODE_FRAGMENT = gql(/* GraphQL */ `
id
buildUUID
buildURL
+ timestamp
}
`);
diff --git a/frontend/src/components/InvocationOverviewDisplay/index.tsx b/frontend/src/components/InvocationOverviewDisplay/index.tsx
index 4e5e403..55b5dc1 100644
--- a/frontend/src/components/InvocationOverviewDisplay/index.tsx
+++ b/frontend/src/components/InvocationOverviewDisplay/index.tsx
@@ -56,7 +56,9 @@ export const InvocationOverviewDisplay: React.FC = ({
{user}
- {command}
+
+ {command}
+
{cpu}
diff --git a/frontend/src/components/SearchWidgets/index.tsx b/frontend/src/components/SearchWidgets/index.tsx
index b6a30e3..4b487a8 100644
--- a/frontend/src/components/SearchWidgets/index.tsx
+++ b/frontend/src/components/SearchWidgets/index.tsx
@@ -11,7 +11,11 @@ import { FilterDropdownProps } from "antd/es/table/interface";
import dayjs from "dayjs";
import { blue } from "@ant-design/colors";
import styles from "@/components/SearchWidgets/index.module.css";
+import timezone from 'dayjs/plugin/timezone';
+import utc from 'dayjs/plugin/utc';
+dayjs.extend(utc);
+dayjs.extend(timezone);
interface SearchFilterIconProps {
icon: React.ReactNode;
filtered: boolean;
diff --git a/frontend/src/graphql/__generated__/gql.ts b/frontend/src/graphql/__generated__/gql.ts
index 2055611..20a2304 100644
--- a/frontend/src/graphql/__generated__/gql.ts
+++ b/frontend/src/graphql/__generated__/gql.ts
@@ -22,7 +22,7 @@ const documents = {
"\n fragment FullBazelInvocationDetails on BazelInvocation {\n ...BazelInvocationInfo\n }\n": types.FullBazelInvocationDetailsFragmentDoc,
"\n query GetActionProblem($id: ID!) {\n node(id: $id) {\n id\n ... on ActionProblem {\n label\n stdout {\n ...BlobReferenceInfo\n }\n stderr {\n ...BlobReferenceInfo\n }\n }\n }\n }\n": types.GetActionProblemDocument,
"\nfragment TestResultInfo on TestResult {\n actionLogOutput {\n ...BlobReferenceInfo\n }\n attempt\n run\n shard\n status\n undeclaredTestOutputs {\n ...BlobReferenceInfo\n }\n}": types.TestResultInfoFragmentDoc,
- "\n query FindBuildByUUID($url: String, $uuid: UUID) {\n getBuild(buildURL: $url, buildUUID: $uuid) {\n id\n buildURL\n buildUUID\n invocations {\n ...FullBazelInvocationDetails\n }\n env {\n key\n value\n }\n }\n }\n": types.FindBuildByUuidDocument,
+ "\n query FindBuildByUUID($url: String, $uuid: UUID) {\n getBuild(buildURL: $url, buildUUID: $uuid) {\n id\n buildURL\n buildUUID\n timestamp\n invocations {\n ...FullBazelInvocationDetails\n }\n env {\n key\n value\n }\n }\n }\n": types.FindBuildByUuidDocument,
"\nquery GetTargetsWithOffset(\n $label: String,\n $offset: Int,\n $limit: Int,\n $sortBy: String,\n $direction: String) {\n getTargetsWithOffset(\n label: $label\n offset: $offset\n limit: $limit\n sortBy: $sortBy\n direction: $direction\n ) {\n total\n result {\n label\n sum\n min\n max\n avg\n count\n passRate\n }\n }\n }\n": types.GetTargetsWithOffsetDocument,
"\n query FindTargets(\n $first: Int!\n $where: TargetPairWhereInput\n $orderBy: TargetPairOrder\n $after: Cursor\n ){\n findTargets (first: $first, where: $where, orderBy: $orderBy, after: $after){\n totalCount\n pageInfo{\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n durationInMs\n label\n success\n bazelInvocation {\n invocationID\n }\n }\n }\n }\n }\n ": types.FindTargetsDocument,
"\nquery GetTestsWithOffset(\n $label: String,\n $offset: Int,\n $limit: Int,\n $sortBy: String,\n $direction: String) {\n getTestsWithOffset(\n label: $label\n offset: $offset\n limit: $limit\n sortBy: $sortBy\n direction: $direction\n ) {\n total\n result {\n label\n sum\n min\n max\n avg\n count\n passRate\n }\n }\n }\n": types.GetTestsWithOffsetDocument,
@@ -34,7 +34,7 @@ const documents = {
"\n query FindBazelInvocations(\n $first: Int!\n $where: BazelInvocationWhereInput\n ) {\n findBazelInvocations(first: $first, where: $where) {\n edges {\n node {\n ...BazelInvocationNode\n }\n }\n }\n }\n": types.FindBazelInvocationsDocument,
"\n fragment BazelInvocationNode on BazelInvocation {\n id\n invocationID\n startedAt\n user {\n Email\n LDAP\n }\n endedAt\n state {\n bepCompleted\n exitCode {\n code\n name\n }\n }\n build {\n buildUUID\n }\n }\n": types.BazelInvocationNodeFragmentDoc,
"\n query FindBuilds(\n $first: Int!\n $where: BuildWhereInput\n ) {\n findBuilds(first: $first, where: $where) {\n edges {\n node {\n ...BuildNode\n }\n }\n }\n }\n": types.FindBuildsDocument,
- "\n fragment BuildNode on Build {\n id\n buildUUID\n buildURL\n }\n": types.BuildNodeFragmentDoc,
+ "\n fragment BuildNode on Build {\n id\n buildUUID\n buildURL\n timestamp\n }\n": types.BuildNodeFragmentDoc,
"\n query FindTestsWithCache(\n $first: Int!\n $where: TestCollectionWhereInput\n $orderBy: TestCollectionOrder\n $after: Cursor\n ){\n findTests (first: $first, where: $where, orderBy: $orderBy, after: $after){\n totalCount\n pageInfo{\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n }\n edges {\n node {\n id\n durationMs\n firstSeen\n label\n overallStatus\n cachedLocally\n cachedRemotely\n bazelInvocation {\n invocationID\n }\n }\n }\n }\n }\n ": types.FindTestsWithCacheDocument,
};
@@ -91,7 +91,7 @@ export function gql(source: "\nfragment TestResultInfo on TestResult {\n ac
/**
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function gql(source: "\n query FindBuildByUUID($url: String, $uuid: UUID) {\n getBuild(buildURL: $url, buildUUID: $uuid) {\n id\n buildURL\n buildUUID\n invocations {\n ...FullBazelInvocationDetails\n }\n env {\n key\n value\n }\n }\n }\n"): (typeof documents)["\n query FindBuildByUUID($url: String, $uuid: UUID) {\n getBuild(buildURL: $url, buildUUID: $uuid) {\n id\n buildURL\n buildUUID\n invocations {\n ...FullBazelInvocationDetails\n }\n env {\n key\n value\n }\n }\n }\n"];
+export function gql(source: "\n query FindBuildByUUID($url: String, $uuid: UUID) {\n getBuild(buildURL: $url, buildUUID: $uuid) {\n id\n buildURL\n buildUUID\n timestamp\n invocations {\n ...FullBazelInvocationDetails\n }\n env {\n key\n value\n }\n }\n }\n"): (typeof documents)["\n query FindBuildByUUID($url: String, $uuid: UUID) {\n getBuild(buildURL: $url, buildUUID: $uuid) {\n id\n buildURL\n buildUUID\n timestamp\n invocations {\n ...FullBazelInvocationDetails\n }\n env {\n key\n value\n }\n }\n }\n"];
/**
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
@@ -139,7 +139,7 @@ export function gql(source: "\n query FindBuilds(\n $first: Int!\n $where
/**
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function gql(source: "\n fragment BuildNode on Build {\n id\n buildUUID\n buildURL\n }\n"): (typeof documents)["\n fragment BuildNode on Build {\n id\n buildUUID\n buildURL\n }\n"];
+export function gql(source: "\n fragment BuildNode on Build {\n id\n buildUUID\n buildURL\n timestamp\n }\n"): (typeof documents)["\n fragment BuildNode on Build {\n id\n buildUUID\n buildURL\n timestamp\n }\n"];
/**
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
diff --git a/frontend/src/graphql/__generated__/graphql.ts b/frontend/src/graphql/__generated__/graphql.ts
index 5334bb5..d3db3e2 100644
--- a/frontend/src/graphql/__generated__/graphql.ts
+++ b/frontend/src/graphql/__generated__/graphql.ts
@@ -898,6 +898,7 @@ export type Build = Node & {
env: Array;
id: Scalars['ID']['output'];
invocations?: Maybe>;
+ timestamp?: Maybe;
};
/** A connection to a list of items. */
@@ -1132,6 +1133,17 @@ export type BuildWhereInput = {
idNotIn?: InputMaybe>;
not?: InputMaybe;
or?: InputMaybe>;
+ /** timestamp field predicates */
+ timestamp?: InputMaybe;
+ timestampGT?: InputMaybe;
+ timestampGTE?: InputMaybe;
+ timestampIn?: InputMaybe>;
+ timestampIsNil?: InputMaybe;
+ timestampLT?: InputMaybe;
+ timestampLTE?: InputMaybe;
+ timestampNEQ?: InputMaybe;
+ timestampNotIn?: InputMaybe>;
+ timestampNotNil?: InputMaybe;
};
export type CumulativeMetrics = Node & {
@@ -4360,7 +4372,7 @@ export type FindBuildByUuidQueryVariables = Exact<{
}>;
-export type FindBuildByUuidQuery = { __typename?: 'Query', getBuild?: { __typename?: 'Build', id: string, buildURL: string, buildUUID: any, invocations?: Array<(
+export type FindBuildByUuidQuery = { __typename?: 'Query', getBuild?: { __typename?: 'Build', id: string, buildURL: string, buildUUID: any, timestamp?: any | null, invocations?: Array<(
{ __typename?: 'BazelInvocation' }
& { ' $fragmentRefs'?: { 'FullBazelInvocationDetailsFragment': FullBazelInvocationDetailsFragment } }
)> | null, env: Array<{ __typename?: 'EnvVar', key: string, value: string }> } | null };
@@ -4458,7 +4470,7 @@ export type FindBuildsQuery = { __typename?: 'Query', findBuilds: { __typename?:
& { ' $fragmentRefs'?: { 'BuildNodeFragment': BuildNodeFragment } }
) | null } | null> | null } };
-export type BuildNodeFragment = { __typename?: 'Build', id: string, buildUUID: any, buildURL: string } & { ' $fragmentName'?: 'BuildNodeFragment' };
+export type BuildNodeFragment = { __typename?: 'Build', id: string, buildUUID: any, buildURL: string, timestamp?: any | null } & { ' $fragmentName'?: 'BuildNodeFragment' };
export type FindTestsWithCacheQueryVariables = Exact<{
first: Scalars['Int']['input'];
@@ -4477,11 +4489,11 @@ export const BazelInvocationInfoFragmentDoc = {"kind":"Document","definitions":[
export const FullBazelInvocationDetailsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullBazelInvocationDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BazelInvocationInfo"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BazelInvocationInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionSummary"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreated"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreatedNotIncludingAspects"}},{"kind":"Field","name":{"kind":"Name","value":"remoteCacheHits"}},{"kind":"Field","name":{"kind":"Name","value":"actionCacheStatistics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"loadTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"saveTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"hits"}},{"kind":"Field","name":{"kind":"Name","value":"misses"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"missDetails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"count"}},{"kind":"Field","name":{"kind":"Name","value":"reason"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"runnerCount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"execKind"}}]}},{"kind":"Field","name":{"kind":"Name","value":"actionData"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"mnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"userTime"}},{"kind":"Field","name":{"kind":"Name","value":"systemTime"}},{"kind":"Field","name":{"kind":"Name","value":"lastEndedMs"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreated"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"firstStartedMs"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"artifactMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sourceArtifactsRead"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactsSeen"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactsFromActionCache"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"topLevelArtifacts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"cumulativeMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"numBuilds"}},{"kind":"Field","name":{"kind":"Name","value":"numAnalyses"}}]}},{"kind":"Field","name":{"kind":"Name","value":"dynamicExecutionMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raceStatistics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"localWins"}},{"kind":"Field","name":{"kind":"Name","value":"mnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"renoteWins"}},{"kind":"Field","name":{"kind":"Name","value":"localRunner"}},{"kind":"Field","name":{"kind":"Name","value":"remoteRunner"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"buildGraphMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionLookupValueCount"}},{"kind":"Field","name":{"kind":"Name","value":"actionLookupValueCountNotIncludingAspects"}},{"kind":"Field","name":{"kind":"Name","value":"actionCount"}},{"kind":"Field","name":{"kind":"Name","value":"inputFileConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"outputFileConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"otherConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactCount"}},{"kind":"Field","name":{"kind":"Name","value":"postInvocationSkyframeNodeCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"memoryMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"usedHeapSizePostBuild"}},{"kind":"Field","name":{"kind":"Name","value":"peakPostGcHeapSize"}},{"kind":"Field","name":{"kind":"Name","value":"peakPostGcTenuredSpaceHeapSize"}},{"kind":"Field","name":{"kind":"Name","value":"garbageMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"garbageCollected"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"targetsLoaded"}},{"kind":"Field","name":{"kind":"Name","value":"targetsConfigured"}},{"kind":"Field","name":{"kind":"Name","value":"targetsConfiguredNotIncludingAspects"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timingMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"cpuTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"wallTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"analysisPhaseTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"executionPhaseTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecutionStartInMs"}}]}},{"kind":"Field","name":{"kind":"Name","value":"networkMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"systemNetworkStats"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"bytesSent"}},{"kind":"Field","name":{"kind":"Name","value":"bytesRecv"}},{"kind":"Field","name":{"kind":"Name","value":"packetsSent"}},{"kind":"Field","name":{"kind":"Name","value":"packetsRecv"}},{"kind":"Field","name":{"kind":"Name","value":"peakBytesSentPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakBytesRecvPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakPacketsSentPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakPacketsRecvPerSec"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"packageMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"packagesLoaded"}},{"kind":"Field","name":{"kind":"Name","value":"packageLoadMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"numTargets"}},{"kind":"Field","name":{"kind":"Name","value":"loadDuration"}},{"kind":"Field","name":{"kind":"Name","value":"packageOverhead"}},{"kind":"Field","name":{"kind":"Name","value":"computationSteps"}},{"kind":"Field","name":{"kind":"Name","value":"numTransitiveLoads"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"bazelCommand"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"command"}},{"kind":"Field","name":{"kind":"Name","value":"executable"}},{"kind":"Field","name":{"kind":"Name","value":"residual"}},{"kind":"Field","name":{"kind":"Name","value":"explicitCmdLine"}},{"kind":"Field","name":{"kind":"Name","value":"cmdLine"}},{"kind":"Field","name":{"kind":"Name","value":"startupOptions"}},{"kind":"Field","name":{"kind":"Name","value":"explicitStartupOptions"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"invocationID"}},{"kind":"Field","name":{"kind":"Name","value":"build"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}}]}},{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"digest"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"success"}},{"kind":"Field","name":{"kind":"Name","value":"testSize"}},{"kind":"Field","name":{"kind":"Name","value":"targetKind"}},{"kind":"Field","name":{"kind":"Name","value":"durationInMs"}},{"kind":"Field","name":{"kind":"Name","value":"abortReason"}}]}},{"kind":"Field","name":{"kind":"Name","value":"testCollection"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"strategy"}},{"kind":"Field","name":{"kind":"Name","value":"durationMs"}},{"kind":"Field","name":{"kind":"Name","value":"overallStatus"}},{"kind":"Field","name":{"kind":"Name","value":"cachedLocally"}},{"kind":"Field","name":{"kind":"Name","value":"cachedRemotely"}}]}},{"kind":"Field","name":{"kind":"Name","value":"relatedFiles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"Email"}},{"kind":"Field","name":{"kind":"Name","value":"LDAP"}}]}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"endedAt"}},{"kind":"Field","name":{"kind":"Name","value":"state"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"bepCompleted"}},{"kind":"Field","name":{"kind":"Name","value":"buildEndTime"}},{"kind":"Field","name":{"kind":"Name","value":"buildStartTime"}},{"kind":"Field","name":{"kind":"Name","value":"exitCode"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"configurationMnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"cpu"}},{"kind":"Field","name":{"kind":"Name","value":"numFetches"}},{"kind":"Field","name":{"kind":"Name","value":"stepLabel"}},{"kind":"Field","name":{"kind":"Name","value":"hostname"}},{"kind":"Field","name":{"kind":"Name","value":"isCiWorker"}},{"kind":"Field","name":{"kind":"Name","value":"sourceControl"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"commitSha"}},{"kind":"Field","name":{"kind":"Name","value":"actor"}},{"kind":"Field","name":{"kind":"Name","value":"branch"}},{"kind":"Field","name":{"kind":"Name","value":"repoURL"}},{"kind":"Field","name":{"kind":"Name","value":"refs"}},{"kind":"Field","name":{"kind":"Name","value":"runID"}},{"kind":"Field","name":{"kind":"Name","value":"workflow"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"}},{"kind":"Field","name":{"kind":"Name","value":"action"}},{"kind":"Field","name":{"kind":"Name","value":"eventName"}},{"kind":"Field","name":{"kind":"Name","value":"job"}},{"kind":"Field","name":{"kind":"Name","value":"runnerName"}},{"kind":"Field","name":{"kind":"Name","value":"runnerArch"}},{"kind":"Field","name":{"kind":"Name","value":"runnerOs"}}]}}]}}]} as unknown as DocumentNode;
export const TestResultInfoFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TestResultInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TestResult"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"actionLogOutput"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BlobReferenceInfo"}}]}},{"kind":"Field","name":{"kind":"Name","value":"attempt"}},{"kind":"Field","name":{"kind":"Name","value":"run"}},{"kind":"Field","name":{"kind":"Name","value":"shard"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"undeclaredTestOutputs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BlobReferenceInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BlobReferenceInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BlobReference"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"availabilityStatus"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"downloadURL"}},{"kind":"Field","name":{"kind":"Name","value":"ephemeralURL"}}]}}]} as unknown as DocumentNode;
export const BazelInvocationNodeFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BazelInvocationNode"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"invocationID"}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"Email"}},{"kind":"Field","name":{"kind":"Name","value":"LDAP"}}]}},{"kind":"Field","name":{"kind":"Name","value":"endedAt"}},{"kind":"Field","name":{"kind":"Name","value":"state"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"bepCompleted"}},{"kind":"Field","name":{"kind":"Name","value":"exitCode"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"build"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}}]}}]}}]} as unknown as DocumentNode;
-export const BuildNodeFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BuildNode"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Build"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}},{"kind":"Field","name":{"kind":"Name","value":"buildURL"}}]}}]} as unknown as DocumentNode;
+export const BuildNodeFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BuildNode"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Build"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}},{"kind":"Field","name":{"kind":"Name","value":"buildURL"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}}]}}]} as unknown as DocumentNode;
export const LoadFullBazelInvocationDetailsDocument = {"__meta__":{"hash":"b81aff00ca1f89dde18260c8f18c1501b018a5f3"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"LoadFullBazelInvocationDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"invocationID"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"bazelInvocation"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"invocationId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"invocationID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullBazelInvocationDetails"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BazelInvocationInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionSummary"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreated"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreatedNotIncludingAspects"}},{"kind":"Field","name":{"kind":"Name","value":"remoteCacheHits"}},{"kind":"Field","name":{"kind":"Name","value":"actionCacheStatistics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"loadTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"saveTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"hits"}},{"kind":"Field","name":{"kind":"Name","value":"misses"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"missDetails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"count"}},{"kind":"Field","name":{"kind":"Name","value":"reason"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"runnerCount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"execKind"}}]}},{"kind":"Field","name":{"kind":"Name","value":"actionData"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"mnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"userTime"}},{"kind":"Field","name":{"kind":"Name","value":"systemTime"}},{"kind":"Field","name":{"kind":"Name","value":"lastEndedMs"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreated"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"firstStartedMs"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"artifactMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sourceArtifactsRead"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactsSeen"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactsFromActionCache"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"topLevelArtifacts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"cumulativeMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"numBuilds"}},{"kind":"Field","name":{"kind":"Name","value":"numAnalyses"}}]}},{"kind":"Field","name":{"kind":"Name","value":"dynamicExecutionMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raceStatistics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"localWins"}},{"kind":"Field","name":{"kind":"Name","value":"mnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"renoteWins"}},{"kind":"Field","name":{"kind":"Name","value":"localRunner"}},{"kind":"Field","name":{"kind":"Name","value":"remoteRunner"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"buildGraphMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionLookupValueCount"}},{"kind":"Field","name":{"kind":"Name","value":"actionLookupValueCountNotIncludingAspects"}},{"kind":"Field","name":{"kind":"Name","value":"actionCount"}},{"kind":"Field","name":{"kind":"Name","value":"inputFileConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"outputFileConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"otherConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactCount"}},{"kind":"Field","name":{"kind":"Name","value":"postInvocationSkyframeNodeCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"memoryMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"usedHeapSizePostBuild"}},{"kind":"Field","name":{"kind":"Name","value":"peakPostGcHeapSize"}},{"kind":"Field","name":{"kind":"Name","value":"peakPostGcTenuredSpaceHeapSize"}},{"kind":"Field","name":{"kind":"Name","value":"garbageMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"garbageCollected"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"targetsLoaded"}},{"kind":"Field","name":{"kind":"Name","value":"targetsConfigured"}},{"kind":"Field","name":{"kind":"Name","value":"targetsConfiguredNotIncludingAspects"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timingMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"cpuTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"wallTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"analysisPhaseTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"executionPhaseTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecutionStartInMs"}}]}},{"kind":"Field","name":{"kind":"Name","value":"networkMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"systemNetworkStats"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"bytesSent"}},{"kind":"Field","name":{"kind":"Name","value":"bytesRecv"}},{"kind":"Field","name":{"kind":"Name","value":"packetsSent"}},{"kind":"Field","name":{"kind":"Name","value":"packetsRecv"}},{"kind":"Field","name":{"kind":"Name","value":"peakBytesSentPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakBytesRecvPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakPacketsSentPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakPacketsRecvPerSec"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"packageMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"packagesLoaded"}},{"kind":"Field","name":{"kind":"Name","value":"packageLoadMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"numTargets"}},{"kind":"Field","name":{"kind":"Name","value":"loadDuration"}},{"kind":"Field","name":{"kind":"Name","value":"packageOverhead"}},{"kind":"Field","name":{"kind":"Name","value":"computationSteps"}},{"kind":"Field","name":{"kind":"Name","value":"numTransitiveLoads"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"bazelCommand"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"command"}},{"kind":"Field","name":{"kind":"Name","value":"executable"}},{"kind":"Field","name":{"kind":"Name","value":"residual"}},{"kind":"Field","name":{"kind":"Name","value":"explicitCmdLine"}},{"kind":"Field","name":{"kind":"Name","value":"cmdLine"}},{"kind":"Field","name":{"kind":"Name","value":"startupOptions"}},{"kind":"Field","name":{"kind":"Name","value":"explicitStartupOptions"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"invocationID"}},{"kind":"Field","name":{"kind":"Name","value":"build"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}}]}},{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"digest"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"success"}},{"kind":"Field","name":{"kind":"Name","value":"testSize"}},{"kind":"Field","name":{"kind":"Name","value":"targetKind"}},{"kind":"Field","name":{"kind":"Name","value":"durationInMs"}},{"kind":"Field","name":{"kind":"Name","value":"abortReason"}}]}},{"kind":"Field","name":{"kind":"Name","value":"testCollection"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"strategy"}},{"kind":"Field","name":{"kind":"Name","value":"durationMs"}},{"kind":"Field","name":{"kind":"Name","value":"overallStatus"}},{"kind":"Field","name":{"kind":"Name","value":"cachedLocally"}},{"kind":"Field","name":{"kind":"Name","value":"cachedRemotely"}}]}},{"kind":"Field","name":{"kind":"Name","value":"relatedFiles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"Email"}},{"kind":"Field","name":{"kind":"Name","value":"LDAP"}}]}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"endedAt"}},{"kind":"Field","name":{"kind":"Name","value":"state"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"bepCompleted"}},{"kind":"Field","name":{"kind":"Name","value":"buildEndTime"}},{"kind":"Field","name":{"kind":"Name","value":"buildStartTime"}},{"kind":"Field","name":{"kind":"Name","value":"exitCode"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"configurationMnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"cpu"}},{"kind":"Field","name":{"kind":"Name","value":"numFetches"}},{"kind":"Field","name":{"kind":"Name","value":"stepLabel"}},{"kind":"Field","name":{"kind":"Name","value":"hostname"}},{"kind":"Field","name":{"kind":"Name","value":"isCiWorker"}},{"kind":"Field","name":{"kind":"Name","value":"sourceControl"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"commitSha"}},{"kind":"Field","name":{"kind":"Name","value":"actor"}},{"kind":"Field","name":{"kind":"Name","value":"branch"}},{"kind":"Field","name":{"kind":"Name","value":"repoURL"}},{"kind":"Field","name":{"kind":"Name","value":"refs"}},{"kind":"Field","name":{"kind":"Name","value":"runID"}},{"kind":"Field","name":{"kind":"Name","value":"workflow"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"}},{"kind":"Field","name":{"kind":"Name","value":"action"}},{"kind":"Field","name":{"kind":"Name","value":"eventName"}},{"kind":"Field","name":{"kind":"Name","value":"job"}},{"kind":"Field","name":{"kind":"Name","value":"runnerName"}},{"kind":"Field","name":{"kind":"Name","value":"runnerArch"}},{"kind":"Field","name":{"kind":"Name","value":"runnerOs"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullBazelInvocationDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BazelInvocationInfo"}}]}}]} as unknown as DocumentNode;
export const GetProblemDetailsDocument = {"__meta__":{"hash":"bb34b92cb4a11280082ec2332b06334a13cf4433"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetProblemDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"invocationID"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"bazelInvocation"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"invocationId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"invocationID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProblemDetails"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BlobReferenceInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BlobReference"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"availabilityStatus"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"downloadURL"}},{"kind":"Field","name":{"kind":"Name","value":"ephemeralURL"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProblemInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Problem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ActionProblem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"stdout"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BlobReferenceInfo"}}]}},{"kind":"Field","name":{"kind":"Name","value":"stderr"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BlobReferenceInfo"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TestProblem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"run"}},{"kind":"Field","name":{"kind":"Name","value":"shard"}},{"kind":"Field","name":{"kind":"Name","value":"attempt"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"actionLogOutput"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BlobReferenceInfo"}}]}},{"kind":"Field","name":{"kind":"Name","value":"undeclaredTestOutputs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BlobReferenceInfo"}}]}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TargetProblem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ProgressProblem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"output"}},{"kind":"Field","name":{"kind":"Name","value":"label"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProblemDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"problems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProblemInfo"}}]}}]}}]} as unknown as DocumentNode;
export const GetActionProblemDocument = {"__meta__":{"hash":"1e8efb549059b9fe79348092e6a23e7ea9b365f8"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetActionProblem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ActionProblem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"stdout"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BlobReferenceInfo"}}]}},{"kind":"Field","name":{"kind":"Name","value":"stderr"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BlobReferenceInfo"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BlobReferenceInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BlobReference"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"availabilityStatus"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"downloadURL"}},{"kind":"Field","name":{"kind":"Name","value":"ephemeralURL"}}]}}]} as unknown as DocumentNode;
-export const FindBuildByUuidDocument = {"__meta__":{"hash":"482603255e473f6937c1813eb3edf1d705de0574"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindBuildByUUID"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"url"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"uuid"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getBuild"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"buildURL"},"value":{"kind":"Variable","name":{"kind":"Name","value":"url"}}},{"kind":"Argument","name":{"kind":"Name","value":"buildUUID"},"value":{"kind":"Variable","name":{"kind":"Name","value":"uuid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildURL"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}},{"kind":"Field","name":{"kind":"Name","value":"invocations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullBazelInvocationDetails"}}]}},{"kind":"Field","name":{"kind":"Name","value":"env"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BazelInvocationInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionSummary"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreated"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreatedNotIncludingAspects"}},{"kind":"Field","name":{"kind":"Name","value":"remoteCacheHits"}},{"kind":"Field","name":{"kind":"Name","value":"actionCacheStatistics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"loadTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"saveTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"hits"}},{"kind":"Field","name":{"kind":"Name","value":"misses"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"missDetails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"count"}},{"kind":"Field","name":{"kind":"Name","value":"reason"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"runnerCount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"execKind"}}]}},{"kind":"Field","name":{"kind":"Name","value":"actionData"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"mnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"userTime"}},{"kind":"Field","name":{"kind":"Name","value":"systemTime"}},{"kind":"Field","name":{"kind":"Name","value":"lastEndedMs"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreated"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"firstStartedMs"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"artifactMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sourceArtifactsRead"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactsSeen"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactsFromActionCache"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"topLevelArtifacts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"cumulativeMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"numBuilds"}},{"kind":"Field","name":{"kind":"Name","value":"numAnalyses"}}]}},{"kind":"Field","name":{"kind":"Name","value":"dynamicExecutionMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raceStatistics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"localWins"}},{"kind":"Field","name":{"kind":"Name","value":"mnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"renoteWins"}},{"kind":"Field","name":{"kind":"Name","value":"localRunner"}},{"kind":"Field","name":{"kind":"Name","value":"remoteRunner"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"buildGraphMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionLookupValueCount"}},{"kind":"Field","name":{"kind":"Name","value":"actionLookupValueCountNotIncludingAspects"}},{"kind":"Field","name":{"kind":"Name","value":"actionCount"}},{"kind":"Field","name":{"kind":"Name","value":"inputFileConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"outputFileConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"otherConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactCount"}},{"kind":"Field","name":{"kind":"Name","value":"postInvocationSkyframeNodeCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"memoryMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"usedHeapSizePostBuild"}},{"kind":"Field","name":{"kind":"Name","value":"peakPostGcHeapSize"}},{"kind":"Field","name":{"kind":"Name","value":"peakPostGcTenuredSpaceHeapSize"}},{"kind":"Field","name":{"kind":"Name","value":"garbageMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"garbageCollected"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"targetsLoaded"}},{"kind":"Field","name":{"kind":"Name","value":"targetsConfigured"}},{"kind":"Field","name":{"kind":"Name","value":"targetsConfiguredNotIncludingAspects"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timingMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"cpuTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"wallTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"analysisPhaseTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"executionPhaseTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecutionStartInMs"}}]}},{"kind":"Field","name":{"kind":"Name","value":"networkMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"systemNetworkStats"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"bytesSent"}},{"kind":"Field","name":{"kind":"Name","value":"bytesRecv"}},{"kind":"Field","name":{"kind":"Name","value":"packetsSent"}},{"kind":"Field","name":{"kind":"Name","value":"packetsRecv"}},{"kind":"Field","name":{"kind":"Name","value":"peakBytesSentPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakBytesRecvPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakPacketsSentPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakPacketsRecvPerSec"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"packageMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"packagesLoaded"}},{"kind":"Field","name":{"kind":"Name","value":"packageLoadMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"numTargets"}},{"kind":"Field","name":{"kind":"Name","value":"loadDuration"}},{"kind":"Field","name":{"kind":"Name","value":"packageOverhead"}},{"kind":"Field","name":{"kind":"Name","value":"computationSteps"}},{"kind":"Field","name":{"kind":"Name","value":"numTransitiveLoads"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"bazelCommand"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"command"}},{"kind":"Field","name":{"kind":"Name","value":"executable"}},{"kind":"Field","name":{"kind":"Name","value":"residual"}},{"kind":"Field","name":{"kind":"Name","value":"explicitCmdLine"}},{"kind":"Field","name":{"kind":"Name","value":"cmdLine"}},{"kind":"Field","name":{"kind":"Name","value":"startupOptions"}},{"kind":"Field","name":{"kind":"Name","value":"explicitStartupOptions"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"invocationID"}},{"kind":"Field","name":{"kind":"Name","value":"build"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}}]}},{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"digest"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"success"}},{"kind":"Field","name":{"kind":"Name","value":"testSize"}},{"kind":"Field","name":{"kind":"Name","value":"targetKind"}},{"kind":"Field","name":{"kind":"Name","value":"durationInMs"}},{"kind":"Field","name":{"kind":"Name","value":"abortReason"}}]}},{"kind":"Field","name":{"kind":"Name","value":"testCollection"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"strategy"}},{"kind":"Field","name":{"kind":"Name","value":"durationMs"}},{"kind":"Field","name":{"kind":"Name","value":"overallStatus"}},{"kind":"Field","name":{"kind":"Name","value":"cachedLocally"}},{"kind":"Field","name":{"kind":"Name","value":"cachedRemotely"}}]}},{"kind":"Field","name":{"kind":"Name","value":"relatedFiles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"Email"}},{"kind":"Field","name":{"kind":"Name","value":"LDAP"}}]}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"endedAt"}},{"kind":"Field","name":{"kind":"Name","value":"state"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"bepCompleted"}},{"kind":"Field","name":{"kind":"Name","value":"buildEndTime"}},{"kind":"Field","name":{"kind":"Name","value":"buildStartTime"}},{"kind":"Field","name":{"kind":"Name","value":"exitCode"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"configurationMnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"cpu"}},{"kind":"Field","name":{"kind":"Name","value":"numFetches"}},{"kind":"Field","name":{"kind":"Name","value":"stepLabel"}},{"kind":"Field","name":{"kind":"Name","value":"hostname"}},{"kind":"Field","name":{"kind":"Name","value":"isCiWorker"}},{"kind":"Field","name":{"kind":"Name","value":"sourceControl"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"commitSha"}},{"kind":"Field","name":{"kind":"Name","value":"actor"}},{"kind":"Field","name":{"kind":"Name","value":"branch"}},{"kind":"Field","name":{"kind":"Name","value":"repoURL"}},{"kind":"Field","name":{"kind":"Name","value":"refs"}},{"kind":"Field","name":{"kind":"Name","value":"runID"}},{"kind":"Field","name":{"kind":"Name","value":"workflow"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"}},{"kind":"Field","name":{"kind":"Name","value":"action"}},{"kind":"Field","name":{"kind":"Name","value":"eventName"}},{"kind":"Field","name":{"kind":"Name","value":"job"}},{"kind":"Field","name":{"kind":"Name","value":"runnerName"}},{"kind":"Field","name":{"kind":"Name","value":"runnerArch"}},{"kind":"Field","name":{"kind":"Name","value":"runnerOs"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullBazelInvocationDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BazelInvocationInfo"}}]}}]} as unknown as DocumentNode;
+export const FindBuildByUuidDocument = {"__meta__":{"hash":"b95794cad1e5149e8a7239d2c71e936d924b14a8"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindBuildByUUID"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"url"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"uuid"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getBuild"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"buildURL"},"value":{"kind":"Variable","name":{"kind":"Name","value":"url"}}},{"kind":"Argument","name":{"kind":"Name","value":"buildUUID"},"value":{"kind":"Variable","name":{"kind":"Name","value":"uuid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildURL"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"invocations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FullBazelInvocationDetails"}}]}},{"kind":"Field","name":{"kind":"Name","value":"env"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BazelInvocationInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionSummary"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreated"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreatedNotIncludingAspects"}},{"kind":"Field","name":{"kind":"Name","value":"remoteCacheHits"}},{"kind":"Field","name":{"kind":"Name","value":"actionCacheStatistics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"loadTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"saveTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"hits"}},{"kind":"Field","name":{"kind":"Name","value":"misses"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"missDetails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"count"}},{"kind":"Field","name":{"kind":"Name","value":"reason"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"runnerCount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"execKind"}}]}},{"kind":"Field","name":{"kind":"Name","value":"actionData"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"mnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"userTime"}},{"kind":"Field","name":{"kind":"Name","value":"systemTime"}},{"kind":"Field","name":{"kind":"Name","value":"lastEndedMs"}},{"kind":"Field","name":{"kind":"Name","value":"actionsCreated"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecuted"}},{"kind":"Field","name":{"kind":"Name","value":"firstStartedMs"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"artifactMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sourceArtifactsRead"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactsSeen"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactsFromActionCache"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}},{"kind":"Field","name":{"kind":"Name","value":"topLevelArtifacts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"cumulativeMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"numBuilds"}},{"kind":"Field","name":{"kind":"Name","value":"numAnalyses"}}]}},{"kind":"Field","name":{"kind":"Name","value":"dynamicExecutionMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raceStatistics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"localWins"}},{"kind":"Field","name":{"kind":"Name","value":"mnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"renoteWins"}},{"kind":"Field","name":{"kind":"Name","value":"localRunner"}},{"kind":"Field","name":{"kind":"Name","value":"remoteRunner"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"buildGraphMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"actionLookupValueCount"}},{"kind":"Field","name":{"kind":"Name","value":"actionLookupValueCountNotIncludingAspects"}},{"kind":"Field","name":{"kind":"Name","value":"actionCount"}},{"kind":"Field","name":{"kind":"Name","value":"inputFileConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"outputFileConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"otherConfiguredTargetCount"}},{"kind":"Field","name":{"kind":"Name","value":"outputArtifactCount"}},{"kind":"Field","name":{"kind":"Name","value":"postInvocationSkyframeNodeCount"}}]}},{"kind":"Field","name":{"kind":"Name","value":"memoryMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"usedHeapSizePostBuild"}},{"kind":"Field","name":{"kind":"Name","value":"peakPostGcHeapSize"}},{"kind":"Field","name":{"kind":"Name","value":"peakPostGcTenuredSpaceHeapSize"}},{"kind":"Field","name":{"kind":"Name","value":"garbageMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"garbageCollected"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"targetsLoaded"}},{"kind":"Field","name":{"kind":"Name","value":"targetsConfigured"}},{"kind":"Field","name":{"kind":"Name","value":"targetsConfiguredNotIncludingAspects"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timingMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"cpuTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"wallTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"analysisPhaseTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"executionPhaseTimeInMs"}},{"kind":"Field","name":{"kind":"Name","value":"actionsExecutionStartInMs"}}]}},{"kind":"Field","name":{"kind":"Name","value":"networkMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"systemNetworkStats"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"bytesSent"}},{"kind":"Field","name":{"kind":"Name","value":"bytesRecv"}},{"kind":"Field","name":{"kind":"Name","value":"packetsSent"}},{"kind":"Field","name":{"kind":"Name","value":"packetsRecv"}},{"kind":"Field","name":{"kind":"Name","value":"peakBytesSentPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakBytesRecvPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakPacketsSentPerSec"}},{"kind":"Field","name":{"kind":"Name","value":"peakPacketsRecvPerSec"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"packageMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"packagesLoaded"}},{"kind":"Field","name":{"kind":"Name","value":"packageLoadMetrics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"numTargets"}},{"kind":"Field","name":{"kind":"Name","value":"loadDuration"}},{"kind":"Field","name":{"kind":"Name","value":"packageOverhead"}},{"kind":"Field","name":{"kind":"Name","value":"computationSteps"}},{"kind":"Field","name":{"kind":"Name","value":"numTransitiveLoads"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"bazelCommand"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"command"}},{"kind":"Field","name":{"kind":"Name","value":"executable"}},{"kind":"Field","name":{"kind":"Name","value":"residual"}},{"kind":"Field","name":{"kind":"Name","value":"explicitCmdLine"}},{"kind":"Field","name":{"kind":"Name","value":"cmdLine"}},{"kind":"Field","name":{"kind":"Name","value":"startupOptions"}},{"kind":"Field","name":{"kind":"Name","value":"explicitStartupOptions"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"invocationID"}},{"kind":"Field","name":{"kind":"Name","value":"build"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}}]}},{"kind":"Field","name":{"kind":"Name","value":"profile"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"digest"}},{"kind":"Field","name":{"kind":"Name","value":"sizeInBytes"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"success"}},{"kind":"Field","name":{"kind":"Name","value":"testSize"}},{"kind":"Field","name":{"kind":"Name","value":"targetKind"}},{"kind":"Field","name":{"kind":"Name","value":"durationInMs"}},{"kind":"Field","name":{"kind":"Name","value":"abortReason"}}]}},{"kind":"Field","name":{"kind":"Name","value":"testCollection"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"strategy"}},{"kind":"Field","name":{"kind":"Name","value":"durationMs"}},{"kind":"Field","name":{"kind":"Name","value":"overallStatus"}},{"kind":"Field","name":{"kind":"Name","value":"cachedLocally"}},{"kind":"Field","name":{"kind":"Name","value":"cachedRemotely"}}]}},{"kind":"Field","name":{"kind":"Name","value":"relatedFiles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"Email"}},{"kind":"Field","name":{"kind":"Name","value":"LDAP"}}]}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"endedAt"}},{"kind":"Field","name":{"kind":"Name","value":"state"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"bepCompleted"}},{"kind":"Field","name":{"kind":"Name","value":"buildEndTime"}},{"kind":"Field","name":{"kind":"Name","value":"buildStartTime"}},{"kind":"Field","name":{"kind":"Name","value":"exitCode"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"configurationMnemonic"}},{"kind":"Field","name":{"kind":"Name","value":"cpu"}},{"kind":"Field","name":{"kind":"Name","value":"numFetches"}},{"kind":"Field","name":{"kind":"Name","value":"stepLabel"}},{"kind":"Field","name":{"kind":"Name","value":"hostname"}},{"kind":"Field","name":{"kind":"Name","value":"isCiWorker"}},{"kind":"Field","name":{"kind":"Name","value":"sourceControl"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"commitSha"}},{"kind":"Field","name":{"kind":"Name","value":"actor"}},{"kind":"Field","name":{"kind":"Name","value":"branch"}},{"kind":"Field","name":{"kind":"Name","value":"repoURL"}},{"kind":"Field","name":{"kind":"Name","value":"refs"}},{"kind":"Field","name":{"kind":"Name","value":"runID"}},{"kind":"Field","name":{"kind":"Name","value":"workflow"}},{"kind":"Field","name":{"kind":"Name","value":"workspace"}},{"kind":"Field","name":{"kind":"Name","value":"action"}},{"kind":"Field","name":{"kind":"Name","value":"eventName"}},{"kind":"Field","name":{"kind":"Name","value":"job"}},{"kind":"Field","name":{"kind":"Name","value":"runnerName"}},{"kind":"Field","name":{"kind":"Name","value":"runnerArch"}},{"kind":"Field","name":{"kind":"Name","value":"runnerOs"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FullBazelInvocationDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BazelInvocationInfo"}}]}}]} as unknown as DocumentNode;
export const GetTargetsWithOffsetDocument = {"__meta__":{"hash":"45528b39e6234ab4c14e4ade920240652d8961e8"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTargetsWithOffset"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"label"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"offset"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sortBy"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"direction"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getTargetsWithOffset"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"label"},"value":{"kind":"Variable","name":{"kind":"Name","value":"label"}}},{"kind":"Argument","name":{"kind":"Name","value":"offset"},"value":{"kind":"Variable","name":{"kind":"Name","value":"offset"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"sortBy"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sortBy"}}},{"kind":"Argument","name":{"kind":"Name","value":"direction"},"value":{"kind":"Variable","name":{"kind":"Name","value":"direction"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"result"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"sum"}},{"kind":"Field","name":{"kind":"Name","value":"min"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"avg"}},{"kind":"Field","name":{"kind":"Name","value":"count"}},{"kind":"Field","name":{"kind":"Name","value":"passRate"}}]}}]}}]}}]} as unknown as DocumentNode;
export const FindTargetsDocument = {"__meta__":{"hash":"f4e866e3a87835a6ea5e334117dc69417e8cda19"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindTargets"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"where"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"TargetPairWhereInput"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"orderBy"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"TargetPairOrder"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"after"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findTargets"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"Variable","name":{"kind":"Name","value":"where"}}},{"kind":"Argument","name":{"kind":"Name","value":"orderBy"},"value":{"kind":"Variable","name":{"kind":"Name","value":"orderBy"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"after"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"startCursor"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}},{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"durationInMs"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"success"}},{"kind":"Field","name":{"kind":"Name","value":"bazelInvocation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"invocationID"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode;
export const GetTestsWithOffsetDocument = {"__meta__":{"hash":"a58c22b2db5f30d1dba201fe125838c7f14d5e6d"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTestsWithOffset"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"label"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"offset"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sortBy"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"direction"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getTestsWithOffset"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"label"},"value":{"kind":"Variable","name":{"kind":"Name","value":"label"}}},{"kind":"Argument","name":{"kind":"Name","value":"offset"},"value":{"kind":"Variable","name":{"kind":"Name","value":"offset"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"sortBy"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sortBy"}}},{"kind":"Argument","name":{"kind":"Name","value":"direction"},"value":{"kind":"Variable","name":{"kind":"Name","value":"direction"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"result"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"sum"}},{"kind":"Field","name":{"kind":"Name","value":"min"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"avg"}},{"kind":"Field","name":{"kind":"Name","value":"count"}},{"kind":"Field","name":{"kind":"Name","value":"passRate"}}]}}]}}]}}]} as unknown as DocumentNode;
@@ -4491,5 +4503,5 @@ export const GetTestDurationAggregationDocument = {"__meta__":{"hash":"4b5a5a830
export const FindTestsDocument = {"__meta__":{"hash":"17231025ad382237c09f082d9e94e39118d8502d"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindTests"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"where"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"TestCollectionWhereInput"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"orderBy"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"TestCollectionOrder"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"after"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findTests"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"Variable","name":{"kind":"Name","value":"where"}}},{"kind":"Argument","name":{"kind":"Name","value":"orderBy"},"value":{"kind":"Variable","name":{"kind":"Name","value":"orderBy"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"after"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"startCursor"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}},{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"durationMs"}},{"kind":"Field","name":{"kind":"Name","value":"firstSeen"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"overallStatus"}},{"kind":"Field","name":{"kind":"Name","value":"bazelInvocation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"invocationID"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode;
export const FindBuildTimesDocument = {"__meta__":{"hash":"707420fe8ea691631ecc9c431896b8e8d6b62692"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindBuildTimes"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"where"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocationWhereInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findBazelInvocations"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"Variable","name":{"kind":"Name","value":"where"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"startCursor"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}},{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"invocationID"}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"endedAt"}}]}}]}}]}}]}}]} as unknown as DocumentNode;
export const FindBazelInvocationsDocument = {"__meta__":{"hash":"7151b14bba5e7ea3e0f6e50882cc2f429591feb9"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindBazelInvocations"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"where"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocationWhereInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findBazelInvocations"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"Variable","name":{"kind":"Name","value":"where"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BazelInvocationNode"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BazelInvocationNode"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BazelInvocation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"invocationID"}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"Email"}},{"kind":"Field","name":{"kind":"Name","value":"LDAP"}}]}},{"kind":"Field","name":{"kind":"Name","value":"endedAt"}},{"kind":"Field","name":{"kind":"Name","value":"state"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"bepCompleted"}},{"kind":"Field","name":{"kind":"Name","value":"exitCode"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"build"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}}]}}]}}]} as unknown as DocumentNode;
-export const FindBuildsDocument = {"__meta__":{"hash":"8edb3e7557d6c22033afe132a5975af6d3ffb001"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindBuilds"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"where"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"BuildWhereInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findBuilds"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"Variable","name":{"kind":"Name","value":"where"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BuildNode"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BuildNode"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Build"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}},{"kind":"Field","name":{"kind":"Name","value":"buildURL"}}]}}]} as unknown as DocumentNode;
+export const FindBuildsDocument = {"__meta__":{"hash":"f1d6d4ca1f94f09f0cde26127d88f438e7b81111"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindBuilds"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"where"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"BuildWhereInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findBuilds"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"Variable","name":{"kind":"Name","value":"where"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BuildNode"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BuildNode"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Build"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"buildUUID"}},{"kind":"Field","name":{"kind":"Name","value":"buildURL"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}}]}}]} as unknown as DocumentNode;
export const FindTestsWithCacheDocument = {"__meta__":{"hash":"add15b38babd589a6f929f238d8f8f03392ad43b"},"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindTestsWithCache"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"where"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"TestCollectionWhereInput"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"orderBy"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"TestCollectionOrder"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"after"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findTests"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"Variable","name":{"kind":"Name","value":"where"}}},{"kind":"Argument","name":{"kind":"Name","value":"orderBy"},"value":{"kind":"Variable","name":{"kind":"Name","value":"orderBy"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"after"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalCount"}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"startCursor"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}},{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"durationMs"}},{"kind":"Field","name":{"kind":"Name","value":"firstSeen"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"overallStatus"}},{"kind":"Field","name":{"kind":"Name","value":"cachedLocally"}},{"kind":"Field","name":{"kind":"Name","value":"cachedRemotely"}},{"kind":"Field","name":{"kind":"Name","value":"bazelInvocation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"invocationID"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/frontend/src/graphql/__generated__/persisted-documents.json b/frontend/src/graphql/__generated__/persisted-documents.json
index 0fea8a9..2fa3298 100644
--- a/frontend/src/graphql/__generated__/persisted-documents.json
+++ b/frontend/src/graphql/__generated__/persisted-documents.json
@@ -2,7 +2,7 @@
"b81aff00ca1f89dde18260c8f18c1501b018a5f3": "fragment BazelInvocationInfo on BazelInvocation { bazelCommand { cmdLine command executable explicitCmdLine explicitStartupOptions id residual startupOptions } build { buildUUID id } configurationMnemonic cpu endedAt hostname id invocationID isCiWorker metrics { actionSummary { actionCacheStatistics { hits id loadTimeInMs missDetails { count id reason } misses saveTimeInMs sizeInBytes } actionData { actionsCreated actionsExecuted firstStartedMs id lastEndedMs mnemonic systemTime userTime } actionsCreated actionsCreatedNotIncludingAspects actionsExecuted id remoteCacheHits runnerCount { actionsExecuted execKind id name } } artifactMetrics { id outputArtifactsFromActionCache { count id sizeInBytes } outputArtifactsSeen { count id sizeInBytes } sourceArtifactsRead { count id sizeInBytes } topLevelArtifacts { count id sizeInBytes } } buildGraphMetrics { actionCount actionLookupValueCount actionLookupValueCountNotIncludingAspects id inputFileConfiguredTargetCount otherConfiguredTargetCount outputArtifactCount outputFileConfiguredTargetCount postInvocationSkyframeNodeCount } cumulativeMetrics { id numAnalyses numBuilds } dynamicExecutionMetrics { id raceStatistics { id localRunner localWins mnemonic remoteRunner renoteWins } } id memoryMetrics { garbageMetrics { garbageCollected id type } id peakPostGcHeapSize peakPostGcTenuredSpaceHeapSize usedHeapSizePostBuild } networkMetrics { id systemNetworkStats { bytesRecv bytesSent id packetsRecv packetsSent peakBytesRecvPerSec peakBytesSentPerSec peakPacketsRecvPerSec peakPacketsSentPerSec } } packageMetrics { id packageLoadMetrics { computationSteps id loadDuration name numTargets numTransitiveLoads packageOverhead } packagesLoaded } targetMetrics { id targetsConfigured targetsConfiguredNotIncludingAspects targetsLoaded } timingMetrics { actionsExecutionStartInMs analysisPhaseTimeInMs cpuTimeInMs executionPhaseTimeInMs id wallTimeInMs } } numFetches profile { digest id name sizeInBytes } relatedFiles { name url } sourceControl { action actor branch commitSha eventName id job refs repoURL runID runnerArch runnerName runnerOs workflow workspace } startedAt state { bepCompleted buildEndTime buildStartTime exitCode { code id name } id } stepLabel targets { abortReason durationInMs id label success targetKind testSize } testCollection { cachedLocally cachedRemotely durationMs id label overallStatus strategy } user { Email LDAP } } fragment FullBazelInvocationDetails on BazelInvocation { ...BazelInvocationInfo } query LoadFullBazelInvocationDetails($invocationID: String!) { bazelInvocation(invocationId: $invocationID) { ...FullBazelInvocationDetails } }",
"bb34b92cb4a11280082ec2332b06334a13cf4433": "fragment BlobReferenceInfo on BlobReference { availabilityStatus downloadURL ephemeralURL name sizeInBytes } fragment ProblemDetails on BazelInvocation { problems { ...ProblemInfo } } fragment ProblemInfo on Problem { __typename id label ... on ActionProblem { __typename id label stderr { ...BlobReferenceInfo } stdout { ...BlobReferenceInfo } type } ... on ProgressProblem { __typename id label output } ... on TargetProblem { __typename id label } ... on TestProblem { __typename id label results { __typename actionLogOutput { ...BlobReferenceInfo } attempt id run shard status undeclaredTestOutputs { ...BlobReferenceInfo } } status } } query GetProblemDetails($invocationID: String!) { bazelInvocation(invocationId: $invocationID) { ...ProblemDetails } }",
"1e8efb549059b9fe79348092e6a23e7ea9b365f8": "fragment BlobReferenceInfo on BlobReference { availabilityStatus downloadURL ephemeralURL name sizeInBytes } query GetActionProblem($id: ID!) { node(id: $id) { id ... on ActionProblem { label stderr { ...BlobReferenceInfo } stdout { ...BlobReferenceInfo } } } }",
- "482603255e473f6937c1813eb3edf1d705de0574": "fragment BazelInvocationInfo on BazelInvocation { bazelCommand { cmdLine command executable explicitCmdLine explicitStartupOptions id residual startupOptions } build { buildUUID id } configurationMnemonic cpu endedAt hostname id invocationID isCiWorker metrics { actionSummary { actionCacheStatistics { hits id loadTimeInMs missDetails { count id reason } misses saveTimeInMs sizeInBytes } actionData { actionsCreated actionsExecuted firstStartedMs id lastEndedMs mnemonic systemTime userTime } actionsCreated actionsCreatedNotIncludingAspects actionsExecuted id remoteCacheHits runnerCount { actionsExecuted execKind id name } } artifactMetrics { id outputArtifactsFromActionCache { count id sizeInBytes } outputArtifactsSeen { count id sizeInBytes } sourceArtifactsRead { count id sizeInBytes } topLevelArtifacts { count id sizeInBytes } } buildGraphMetrics { actionCount actionLookupValueCount actionLookupValueCountNotIncludingAspects id inputFileConfiguredTargetCount otherConfiguredTargetCount outputArtifactCount outputFileConfiguredTargetCount postInvocationSkyframeNodeCount } cumulativeMetrics { id numAnalyses numBuilds } dynamicExecutionMetrics { id raceStatistics { id localRunner localWins mnemonic remoteRunner renoteWins } } id memoryMetrics { garbageMetrics { garbageCollected id type } id peakPostGcHeapSize peakPostGcTenuredSpaceHeapSize usedHeapSizePostBuild } networkMetrics { id systemNetworkStats { bytesRecv bytesSent id packetsRecv packetsSent peakBytesRecvPerSec peakBytesSentPerSec peakPacketsRecvPerSec peakPacketsSentPerSec } } packageMetrics { id packageLoadMetrics { computationSteps id loadDuration name numTargets numTransitiveLoads packageOverhead } packagesLoaded } targetMetrics { id targetsConfigured targetsConfiguredNotIncludingAspects targetsLoaded } timingMetrics { actionsExecutionStartInMs analysisPhaseTimeInMs cpuTimeInMs executionPhaseTimeInMs id wallTimeInMs } } numFetches profile { digest id name sizeInBytes } relatedFiles { name url } sourceControl { action actor branch commitSha eventName id job refs repoURL runID runnerArch runnerName runnerOs workflow workspace } startedAt state { bepCompleted buildEndTime buildStartTime exitCode { code id name } id } stepLabel targets { abortReason durationInMs id label success targetKind testSize } testCollection { cachedLocally cachedRemotely durationMs id label overallStatus strategy } user { Email LDAP } } fragment FullBazelInvocationDetails on BazelInvocation { ...BazelInvocationInfo } query FindBuildByUUID($url: String, $uuid: UUID) { getBuild(buildURL: $url, buildUUID: $uuid) { buildURL buildUUID env { key value } id invocations { ...FullBazelInvocationDetails } } }",
+ "b95794cad1e5149e8a7239d2c71e936d924b14a8": "fragment BazelInvocationInfo on BazelInvocation { bazelCommand { cmdLine command executable explicitCmdLine explicitStartupOptions id residual startupOptions } build { buildUUID id } configurationMnemonic cpu endedAt hostname id invocationID isCiWorker metrics { actionSummary { actionCacheStatistics { hits id loadTimeInMs missDetails { count id reason } misses saveTimeInMs sizeInBytes } actionData { actionsCreated actionsExecuted firstStartedMs id lastEndedMs mnemonic systemTime userTime } actionsCreated actionsCreatedNotIncludingAspects actionsExecuted id remoteCacheHits runnerCount { actionsExecuted execKind id name } } artifactMetrics { id outputArtifactsFromActionCache { count id sizeInBytes } outputArtifactsSeen { count id sizeInBytes } sourceArtifactsRead { count id sizeInBytes } topLevelArtifacts { count id sizeInBytes } } buildGraphMetrics { actionCount actionLookupValueCount actionLookupValueCountNotIncludingAspects id inputFileConfiguredTargetCount otherConfiguredTargetCount outputArtifactCount outputFileConfiguredTargetCount postInvocationSkyframeNodeCount } cumulativeMetrics { id numAnalyses numBuilds } dynamicExecutionMetrics { id raceStatistics { id localRunner localWins mnemonic remoteRunner renoteWins } } id memoryMetrics { garbageMetrics { garbageCollected id type } id peakPostGcHeapSize peakPostGcTenuredSpaceHeapSize usedHeapSizePostBuild } networkMetrics { id systemNetworkStats { bytesRecv bytesSent id packetsRecv packetsSent peakBytesRecvPerSec peakBytesSentPerSec peakPacketsRecvPerSec peakPacketsSentPerSec } } packageMetrics { id packageLoadMetrics { computationSteps id loadDuration name numTargets numTransitiveLoads packageOverhead } packagesLoaded } targetMetrics { id targetsConfigured targetsConfiguredNotIncludingAspects targetsLoaded } timingMetrics { actionsExecutionStartInMs analysisPhaseTimeInMs cpuTimeInMs executionPhaseTimeInMs id wallTimeInMs } } numFetches profile { digest id name sizeInBytes } relatedFiles { name url } sourceControl { action actor branch commitSha eventName id job refs repoURL runID runnerArch runnerName runnerOs workflow workspace } startedAt state { bepCompleted buildEndTime buildStartTime exitCode { code id name } id } stepLabel targets { abortReason durationInMs id label success targetKind testSize } testCollection { cachedLocally cachedRemotely durationMs id label overallStatus strategy } user { Email LDAP } } fragment FullBazelInvocationDetails on BazelInvocation { ...BazelInvocationInfo } query FindBuildByUUID($url: String, $uuid: UUID) { getBuild(buildURL: $url, buildUUID: $uuid) { buildURL buildUUID env { key value } id invocations { ...FullBazelInvocationDetails } timestamp } }",
"45528b39e6234ab4c14e4ade920240652d8961e8": "query GetTargetsWithOffset($direction: String, $label: String, $limit: Int, $offset: Int, $sortBy: String) { getTargetsWithOffset( label: $label offset: $offset limit: $limit sortBy: $sortBy direction: $direction ) { result { avg count label max min passRate sum } total } }",
"f4e866e3a87835a6ea5e334117dc69417e8cda19": "query FindTargets($after: Cursor, $first: Int!, $orderBy: TargetPairOrder, $where: TargetPairWhereInput) { findTargets(first: $first, where: $where, orderBy: $orderBy, after: $after) { edges { node { bazelInvocation { invocationID } durationInMs id label success } } pageInfo { endCursor hasNextPage hasPreviousPage startCursor } totalCount } }",
"a58c22b2db5f30d1dba201fe125838c7f14d5e6d": "query GetTestsWithOffset($direction: String, $label: String, $limit: Int, $offset: Int, $sortBy: String) { getTestsWithOffset( label: $label offset: $offset limit: $limit sortBy: $sortBy direction: $direction ) { result { avg count label max min passRate sum } total } }",
@@ -12,6 +12,6 @@
"17231025ad382237c09f082d9e94e39118d8502d": "query FindTests($after: Cursor, $first: Int!, $orderBy: TestCollectionOrder, $where: TestCollectionWhereInput) { findTests(first: $first, where: $where, orderBy: $orderBy, after: $after) { edges { node { bazelInvocation { invocationID } durationMs firstSeen id label overallStatus } } pageInfo { endCursor hasNextPage hasPreviousPage startCursor } totalCount } }",
"707420fe8ea691631ecc9c431896b8e8d6b62692": "query FindBuildTimes($first: Int!, $where: BazelInvocationWhereInput) { findBazelInvocations(first: $first, where: $where) { edges { node { endedAt invocationID startedAt } } pageInfo { endCursor hasNextPage hasPreviousPage startCursor } totalCount } }",
"7151b14bba5e7ea3e0f6e50882cc2f429591feb9": "fragment BazelInvocationNode on BazelInvocation { build { buildUUID } endedAt id invocationID startedAt state { bepCompleted exitCode { code name } } user { Email LDAP } } query FindBazelInvocations($first: Int!, $where: BazelInvocationWhereInput) { findBazelInvocations(first: $first, where: $where) { edges { node { ...BazelInvocationNode } } } }",
- "8edb3e7557d6c22033afe132a5975af6d3ffb001": "fragment BuildNode on Build { buildURL buildUUID id } query FindBuilds($first: Int!, $where: BuildWhereInput) { findBuilds(first: $first, where: $where) { edges { node { ...BuildNode } } } }",
+ "f1d6d4ca1f94f09f0cde26127d88f438e7b81111": "fragment BuildNode on Build { buildURL buildUUID id timestamp } query FindBuilds($first: Int!, $where: BuildWhereInput) { findBuilds(first: $first, where: $where) { edges { node { ...BuildNode } } } }",
"add15b38babd589a6f929f238d8f8f03392ad43b": "query FindTestsWithCache($after: Cursor, $first: Int!, $orderBy: TestCollectionOrder, $where: TestCollectionWhereInput) { findTests(first: $first, where: $where, orderBy: $orderBy, after: $after) { edges { node { bazelInvocation { invocationID } cachedLocally cachedRemotely durationMs firstSeen id label overallStatus } } pageInfo { endCursor hasNextPage hasPreviousPage startCursor } totalCount } }"
}
\ No newline at end of file
diff --git a/internal/graphql/schema/ent.graphql b/internal/graphql/schema/ent.graphql
index d3a1301..d61ca02 100644
--- a/internal/graphql/schema/ent.graphql
+++ b/internal/graphql/schema/ent.graphql
@@ -946,6 +946,7 @@ type Build implements Node {
id: ID!
buildURL: String!
buildUUID: UUID!
+ timestamp: Time
invocations: [BazelInvocation!]
}
"""
@@ -1210,6 +1211,19 @@ input BuildWhereInput {
buildUUIDLT: UUID
buildUUIDLTE: UUID
"""
+ timestamp field predicates
+ """
+ timestamp: Time
+ timestampNEQ: Time
+ timestampIn: [Time!]
+ timestampNotIn: [Time!]
+ timestampGT: Time
+ timestampGTE: Time
+ timestampLT: Time
+ timestampLTE: Time
+ timestampIsNil: Boolean
+ timestampNotNil: Boolean
+ """
invocations edge predicates
"""
hasInvocations: Boolean
diff --git a/internal/graphql/server_gen.go b/internal/graphql/server_gen.go
index 19dc372..a1a5452 100644
--- a/internal/graphql/server_gen.go
+++ b/internal/graphql/server_gen.go
@@ -286,6 +286,7 @@ type ComplexityRoot struct {
Env func(childComplexity int) int
ID func(childComplexity int) int
Invocations func(childComplexity int) int
+ Timestamp func(childComplexity int) int
}
BuildConnection struct {
@@ -2127,6 +2128,13 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in
return e.complexity.Build.Invocations(childComplexity), true
+ case "Build.timestamp":
+ if e.complexity.Build.Timestamp == nil {
+ break
+ }
+
+ return e.complexity.Build.Timestamp(childComplexity), true
+
case "BuildConnection.edges":
if e.complexity.BuildConnection.Edges == nil {
break
@@ -9385,6 +9393,8 @@ func (ec *executionContext) fieldContext_BazelInvocation_build(_ context.Context
return ec.fieldContext_Build_buildURL(ctx, field)
case "buildUUID":
return ec.fieldContext_Build_buildUUID(ctx, field)
+ case "timestamp":
+ return ec.fieldContext_Build_timestamp(ctx, field)
case "invocations":
return ec.fieldContext_Build_invocations(ctx, field)
case "env":
@@ -11330,6 +11340,47 @@ func (ec *executionContext) fieldContext_Build_buildUUID(_ context.Context, fiel
return fc, nil
}
+func (ec *executionContext) _Build_timestamp(ctx context.Context, field graphql.CollectedField, obj *ent.Build) (ret graphql.Marshaler) {
+ fc, err := ec.fieldContext_Build_timestamp(ctx, field)
+ if err != nil {
+ return graphql.Null
+ }
+ ctx = graphql.WithFieldContext(ctx, fc)
+ defer func() {
+ if r := recover(); r != nil {
+ ec.Error(ctx, ec.Recover(ctx, r))
+ ret = graphql.Null
+ }
+ }()
+ resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
+ ctx = rctx // use context from middleware stack in children
+ return obj.Timestamp, nil
+ })
+ if err != nil {
+ ec.Error(ctx, err)
+ return graphql.Null
+ }
+ if resTmp == nil {
+ return graphql.Null
+ }
+ res := resTmp.(time.Time)
+ fc.Result = res
+ return ec.marshalOTime2timeᚐTime(ctx, field.Selections, res)
+}
+
+func (ec *executionContext) fieldContext_Build_timestamp(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
+ fc = &graphql.FieldContext{
+ Object: "Build",
+ Field: field,
+ IsMethod: false,
+ IsResolver: false,
+ Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
+ return nil, errors.New("field of type Time does not have child fields")
+ },
+ }
+ return fc, nil
+}
+
func (ec *executionContext) _Build_invocations(ctx context.Context, field graphql.CollectedField, obj *ent.Build) (ret graphql.Marshaler) {
fc, err := ec.fieldContext_Build_invocations(ctx, field)
if err != nil {
@@ -11668,6 +11719,8 @@ func (ec *executionContext) fieldContext_BuildEdge_node(_ context.Context, field
return ec.fieldContext_Build_buildURL(ctx, field)
case "buildUUID":
return ec.fieldContext_Build_buildUUID(ctx, field)
+ case "timestamp":
+ return ec.fieldContext_Build_timestamp(ctx, field)
case "invocations":
return ec.fieldContext_Build_invocations(ctx, field)
case "env":
@@ -18299,6 +18352,8 @@ func (ec *executionContext) fieldContext_Query_getBuild(ctx context.Context, fie
return ec.fieldContext_Build_buildURL(ctx, field)
case "buildUUID":
return ec.fieldContext_Build_buildUUID(ctx, field)
+ case "timestamp":
+ return ec.fieldContext_Build_timestamp(ctx, field)
case "invocations":
return ec.fieldContext_Build_invocations(ctx, field)
case "env":
@@ -34974,7 +35029,7 @@ func (ec *executionContext) unmarshalInputBuildWhereInput(ctx context.Context, o
asMap[k] = v
}
- fieldsInOrder := [...]string{"not", "and", "or", "id", "idNEQ", "idIn", "idNotIn", "idGT", "idGTE", "idLT", "idLTE", "buildURL", "buildURLNEQ", "buildURLIn", "buildURLNotIn", "buildURLGT", "buildURLGTE", "buildURLLT", "buildURLLTE", "buildURLContains", "buildURLHasPrefix", "buildURLHasSuffix", "buildURLEqualFold", "buildURLContainsFold", "buildUUID", "buildUUIDNEQ", "buildUUIDIn", "buildUUIDNotIn", "buildUUIDGT", "buildUUIDGTE", "buildUUIDLT", "buildUUIDLTE", "hasInvocations", "hasInvocationsWith"}
+ fieldsInOrder := [...]string{"not", "and", "or", "id", "idNEQ", "idIn", "idNotIn", "idGT", "idGTE", "idLT", "idLTE", "buildURL", "buildURLNEQ", "buildURLIn", "buildURLNotIn", "buildURLGT", "buildURLGTE", "buildURLLT", "buildURLLTE", "buildURLContains", "buildURLHasPrefix", "buildURLHasSuffix", "buildURLEqualFold", "buildURLContainsFold", "buildUUID", "buildUUIDNEQ", "buildUUIDIn", "buildUUIDNotIn", "buildUUIDGT", "buildUUIDGTE", "buildUUIDLT", "buildUUIDLTE", "timestamp", "timestampNEQ", "timestampIn", "timestampNotIn", "timestampGT", "timestampGTE", "timestampLT", "timestampLTE", "timestampIsNil", "timestampNotNil", "hasInvocations", "hasInvocationsWith"}
for _, k := range fieldsInOrder {
v, ok := asMap[k]
if !ok {
@@ -35221,6 +35276,76 @@ func (ec *executionContext) unmarshalInputBuildWhereInput(ctx context.Context, o
return it, err
}
it.BuildUUIDLTE = data
+ case "timestamp":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestamp"))
+ data, err := ec.unmarshalOTime2ᚖtimeᚐTime(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.Timestamp = data
+ case "timestampNEQ":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampNEQ"))
+ data, err := ec.unmarshalOTime2ᚖtimeᚐTime(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampNEQ = data
+ case "timestampIn":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampIn"))
+ data, err := ec.unmarshalOTime2ᚕtimeᚐTimeᚄ(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampIn = data
+ case "timestampNotIn":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampNotIn"))
+ data, err := ec.unmarshalOTime2ᚕtimeᚐTimeᚄ(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampNotIn = data
+ case "timestampGT":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampGT"))
+ data, err := ec.unmarshalOTime2ᚖtimeᚐTime(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampGT = data
+ case "timestampGTE":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampGTE"))
+ data, err := ec.unmarshalOTime2ᚖtimeᚐTime(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampGTE = data
+ case "timestampLT":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampLT"))
+ data, err := ec.unmarshalOTime2ᚖtimeᚐTime(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampLT = data
+ case "timestampLTE":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampLTE"))
+ data, err := ec.unmarshalOTime2ᚖtimeᚐTime(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampLTE = data
+ case "timestampIsNil":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampIsNil"))
+ data, err := ec.unmarshalOBoolean2bool(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampIsNil = data
+ case "timestampNotNil":
+ ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("timestampNotNil"))
+ data, err := ec.unmarshalOBoolean2bool(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ it.TimestampNotNil = data
case "hasInvocations":
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hasInvocations"))
data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v)
@@ -51591,6 +51716,8 @@ func (ec *executionContext) _Build(ctx context.Context, sel ast.SelectionSet, ob
if out.Values[i] == graphql.Null {
atomic.AddUint32(&out.Invalids, 1)
}
+ case "timestamp":
+ out.Values[i] = ec._Build_timestamp(ctx, field, obj)
case "invocations":
field := field
diff --git a/internal/graphql/testdata/snapshot.db b/internal/graphql/testdata/snapshot.db
index 5514155..b34c224 100644
Binary files a/internal/graphql/testdata/snapshot.db and b/internal/graphql/testdata/snapshot.db differ
diff --git a/internal/graphql/testdata/snapshots/FindBuildByUUID/found-(by-URL).golden.json b/internal/graphql/testdata/snapshots/FindBuildByUUID/found-(by-URL).golden.json
index 4dd2255..22c914f 100644
--- a/internal/graphql/testdata/snapshots/FindBuildByUUID/found-(by-URL).golden.json
+++ b/internal/graphql/testdata/snapshots/FindBuildByUUID/found-(by-URL).golden.json
@@ -262,61 +262,61 @@
"targets": [
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMTU=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
+ "label": "//next.js:build_test",
"success": true,
- "targetKind": "_copy_file rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMTY=",
- "label": "//next.js:build_smoke_test",
+ "label": "//next.js:eslintrc",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMTc=",
- "label": "//next.js:next_dev",
+ "label": "//next.js:jest_config",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMTg=",
- "label": "//next.js:next_js_binary",
+ "label": "//next.js/pages:jest_test",
"success": true,
- "targetKind": "js_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "jest_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMTk=",
- "label": "//next.js/pages:_jest_test_bazel_sequencer",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
"success": true,
"targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjA=",
- "label": "//next.js/pages/api:api",
+ "label": "//next.js/pages:_jest_test_jest_entrypoint",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjE=",
"label": "//next.js/pages:pages",
"success": true,
@@ -327,118 +327,118 @@
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjI=",
- "label": "//next.js/public:public",
+ "label": "//next.js/pages/api:api",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjM=",
- "label": "//next.js:build_test",
+ "label": "//next.js/public:public",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjQ=",
- "label": "//next.js:eslintrc",
+ "label": "//next.js:next_dev",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjU=",
- "label": "//next.js:next_start",
+ "label": "//next.js:tsconfig",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjY=",
- "label": "//next.js:package_json",
+ "label": "//next.js/pages:_jest_test_bazel_sequencer",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjc=",
- "label": "//next.js:tsconfig",
+ "label": "//next.js:next",
"success": true,
- "targetKind": "ts_config rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjg=",
- "label": "//next.js/pages:_jest_test_jest_entrypoint",
+ "label": "//next.js:package_json",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjk=",
- "label": "//next.js/pages:specs",
+ "label": "//next.js:build_smoke_test",
"success": true,
- "targetKind": "ts_project rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzA=",
- "label": "//next.js:next",
+ "label": "//next.js:next_js_binary",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzE=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
+ "label": "//next.js:next_start",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMzI=",
- "label": "//next.js/styles:styles",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMzM=",
- "label": "//next.js:jest_config",
+ "label": "//next.js/pages:specs",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzQ=",
- "label": "//next.js/pages:jest_test",
+ "label": "//next.js/styles:styles",
"success": true,
- "targetKind": "jest_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
}
],
"testCollection": [
@@ -475,6 +475,7 @@
"LDAP": ""
}
}
- ]
+ ],
+ "timestamp": "2024-05-13T23:43:23.045Z"
}
}
\ No newline at end of file
diff --git a/internal/graphql/testdata/snapshots/FindBuildByUUID/found-(by-UUID).golden.json b/internal/graphql/testdata/snapshots/FindBuildByUUID/found-(by-UUID).golden.json
index 4dd2255..22c914f 100644
--- a/internal/graphql/testdata/snapshots/FindBuildByUUID/found-(by-UUID).golden.json
+++ b/internal/graphql/testdata/snapshots/FindBuildByUUID/found-(by-UUID).golden.json
@@ -262,61 +262,61 @@
"targets": [
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMTU=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
+ "label": "//next.js:build_test",
"success": true,
- "targetKind": "_copy_file rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMTY=",
- "label": "//next.js:build_smoke_test",
+ "label": "//next.js:eslintrc",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMTc=",
- "label": "//next.js:next_dev",
+ "label": "//next.js:jest_config",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMTg=",
- "label": "//next.js:next_js_binary",
+ "label": "//next.js/pages:jest_test",
"success": true,
- "targetKind": "js_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "jest_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMTk=",
- "label": "//next.js/pages:_jest_test_bazel_sequencer",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
"success": true,
"targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjA=",
- "label": "//next.js/pages/api:api",
+ "label": "//next.js/pages:_jest_test_jest_entrypoint",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjE=",
"label": "//next.js/pages:pages",
"success": true,
@@ -327,118 +327,118 @@
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjI=",
- "label": "//next.js/public:public",
+ "label": "//next.js/pages/api:api",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjM=",
- "label": "//next.js:build_test",
+ "label": "//next.js/public:public",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjQ=",
- "label": "//next.js:eslintrc",
+ "label": "//next.js:next_dev",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjU=",
- "label": "//next.js:next_start",
+ "label": "//next.js:tsconfig",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjY=",
- "label": "//next.js:package_json",
+ "label": "//next.js/pages:_jest_test_bazel_sequencer",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjc=",
- "label": "//next.js:tsconfig",
+ "label": "//next.js:next",
"success": true,
- "targetKind": "ts_config rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjg=",
- "label": "//next.js/pages:_jest_test_jest_entrypoint",
+ "label": "//next.js:package_json",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjk=",
- "label": "//next.js/pages:specs",
+ "label": "//next.js:build_smoke_test",
"success": true,
- "targetKind": "ts_project rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzA=",
- "label": "//next.js:next",
+ "label": "//next.js:next_js_binary",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzE=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
+ "label": "//next.js:next_start",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMzI=",
- "label": "//next.js/styles:styles",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMzM=",
- "label": "//next.js:jest_config",
+ "label": "//next.js/pages:specs",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzQ=",
- "label": "//next.js/pages:jest_test",
+ "label": "//next.js/styles:styles",
"success": true,
- "targetKind": "jest_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
}
],
"testCollection": [
@@ -475,6 +475,7 @@
"LDAP": ""
}
}
- ]
+ ],
+ "timestamp": "2024-05-13T23:43:23.045Z"
}
}
\ No newline at end of file
diff --git a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-bazel-invocation-analysis-failed-target.golden.json b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-bazel-invocation-analysis-failed-target.golden.json
index de2258c..911184e 100644
--- a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-bazel-invocation-analysis-failed-target.golden.json
+++ b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-bazel-invocation-analysis-failed-target.golden.json
@@ -251,61 +251,61 @@
"targets": [
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMTU=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
+ "label": "//next.js:build_test",
"success": true,
- "targetKind": "_copy_file rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMTY=",
- "label": "//next.js:build_smoke_test",
+ "label": "//next.js:eslintrc",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMTc=",
- "label": "//next.js:next_dev",
+ "label": "//next.js:jest_config",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMTg=",
- "label": "//next.js:next_js_binary",
+ "label": "//next.js/pages:jest_test",
"success": true,
- "targetKind": "js_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "jest_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMTk=",
- "label": "//next.js/pages:_jest_test_bazel_sequencer",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
"success": true,
"targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjA=",
- "label": "//next.js/pages/api:api",
+ "label": "//next.js/pages:_jest_test_jest_entrypoint",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjE=",
"label": "//next.js/pages:pages",
"success": true,
@@ -316,118 +316,118 @@
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjI=",
- "label": "//next.js/public:public",
+ "label": "//next.js/pages/api:api",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjM=",
- "label": "//next.js:build_test",
+ "label": "//next.js/public:public",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjQ=",
- "label": "//next.js:eslintrc",
+ "label": "//next.js:next_dev",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjU=",
- "label": "//next.js:next_start",
+ "label": "//next.js:tsconfig",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjY=",
- "label": "//next.js:package_json",
+ "label": "//next.js/pages:_jest_test_bazel_sequencer",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjc=",
- "label": "//next.js:tsconfig",
+ "label": "//next.js:next",
"success": true,
- "targetKind": "ts_config rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMjg=",
- "label": "//next.js/pages:_jest_test_jest_entrypoint",
+ "label": "//next.js:package_json",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMjk=",
- "label": "//next.js/pages:specs",
+ "label": "//next.js:build_smoke_test",
"success": true,
- "targetKind": "ts_project rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzA=",
- "label": "//next.js:next",
+ "label": "//next.js:next_js_binary",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzE=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
+ "label": "//next.js:next_start",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMzI=",
- "label": "//next.js/styles:styles",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMzM=",
- "label": "//next.js:jest_config",
+ "label": "//next.js/pages:specs",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMzQ=",
- "label": "//next.js/pages:jest_test",
+ "label": "//next.js/styles:styles",
"success": true,
- "targetKind": "jest_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
}
],
"testCollection": [
diff --git a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-bazel-invocation-ignoring-target-and-error-progress-if-action-has-output.golden.json b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-bazel-invocation-ignoring-target-and-error-progress-if-action-has-output.golden.json
index f15d847..2ce2ee6 100644
--- a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-bazel-invocation-ignoring-target-and-error-progress-if-action-has-output.golden.json
+++ b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-bazel-invocation-ignoring-target-and-error-progress-if-action-has-output.golden.json
@@ -230,63 +230,45 @@
"stepLabel": "",
"targets": [
{
- "abortReason": "INCOMPLETE",
- "durationInMs": 2,
+ "abortReason": "",
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMjc=",
- "label": "//next.js/pages:specs",
- "success": false,
- "targetKind": "ts_project rule",
+ "label": "//next.js/styles:styles",
+ "success": true,
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "INCOMPLETE",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxMjg=",
- "label": "//packages/one:one",
- "success": false,
- "targetKind": "_npm_package rule",
- "testSize": "UNKNOWN"
- },
- {
- "abortReason": "INCOMPLETE",
- "durationInMs": 1,
- "id": "VGFyZ2V0UGFpcjoxMjk=",
"label": "//packages/one:one_ts",
"success": false,
"targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
- {
- "abortReason": "INCOMPLETE",
- "durationInMs": 1,
- "id": "VGFyZ2V0UGFpcjoxMzA=",
- "label": "//next.js:package_json",
- "success": false,
- "targetKind": "js_library rule",
- "testSize": "UNKNOWN"
- },
{
"abortReason": "",
"durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxMzE=",
- "label": "//react/src:assets",
+ "id": "VGFyZ2V0UGFpcjoxMjk=",
+ "label": "//react/src:src_typecheck",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "filegroup rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxMzI=",
- "label": "//react/src:src",
+ "id": "VGFyZ2V0UGFpcjoxMzA=",
+ "label": "//react/src:src_transpile",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "swc_compile rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "INCOMPLETE",
"durationInMs": 1,
- "id": "VGFyZ2V0UGFpcjoxMzM=",
+ "id": "VGFyZ2V0UGFpcjoxMzE=",
"label": "//next.js:tsconfig",
"success": false,
"targetKind": "ts_config rule",
@@ -295,16 +277,16 @@
{
"abortReason": "",
"durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxMzQ=",
- "label": "//react/src:test",
+ "id": "VGFyZ2V0UGFpcjoxMzI=",
+ "label": "//react/src:src_typings",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "ts_project rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxMzU=",
+ "id": "VGFyZ2V0UGFpcjoxMzM=",
"label": "//next.js/pages:_jest_test_bazel_sequencer",
"success": true,
"targetKind": "_copy_file rule",
@@ -313,17 +295,26 @@
{
"abortReason": "",
"durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxMzY=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
+ "id": "VGFyZ2V0UGFpcjoxMzQ=",
+ "label": "//next.js/public:public",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "INCOMPLETE",
"durationInMs": 2,
- "id": "VGFyZ2V0UGFpcjoxMzc=",
- "label": "//next.js:jest_config",
+ "id": "VGFyZ2V0UGFpcjoxMzU=",
+ "label": "//next.js/pages:specs",
+ "success": false,
+ "targetKind": "ts_project rule",
+ "testSize": "UNKNOWN"
+ },
+ {
+ "abortReason": "INCOMPLETE",
+ "durationInMs": 2,
+ "id": "VGFyZ2V0UGFpcjoxMzY=",
+ "label": "//next.js:eslintrc",
"success": false,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
@@ -331,15 +322,24 @@
{
"abortReason": "",
"durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxMzg=",
- "label": "//react/src:src_typecheck",
+ "id": "VGFyZ2V0UGFpcjoxMzc=",
+ "label": "//react/public:public",
"success": true,
- "targetKind": "filegroup rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "INCOMPLETE",
"durationInMs": 1,
+ "id": "VGFyZ2V0UGFpcjoxMzg=",
+ "label": "//react/src:lint",
+ "success": false,
+ "targetKind": "eslint_test rule",
+ "testSize": "MEDIUM"
+ },
+ {
+ "abortReason": "INCOMPLETE",
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoxMzk=",
"label": "//next.js/pages:pages",
"success": false,
@@ -350,51 +350,60 @@
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNDA=",
- "label": "//next.js/public:public",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "INCOMPLETE",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxNDE=",
- "label": "//next.js:eslintrc",
+ "label": "//next.js:jest_config",
"success": false,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "",
+ "abortReason": "INCOMPLETE",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxNDI=",
- "label": "//next.js/styles:styles",
- "success": true,
- "targetKind": "js_library rule",
+ "label": "//next.js:next_js_binary",
+ "success": false,
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "INCOMPLETE",
+ "abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNDM=",
- "label": "//next.js:next_js_binary",
- "success": false,
- "targetKind": "js_binary rule",
+ "label": "//react/src:src",
+ "success": true,
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "INCOMPLETE",
- "durationInMs": 2,
+ "abortReason": "",
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNDQ=",
- "label": "//next.js/pages/api:api",
- "success": false,
- "targetKind": "ts_project rule",
- "testSize": "UNKNOWN"
+ "label": "//react/src:src_typecheck_test",
+ "success": true,
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNDU=",
+ "label": "//react/src:test",
+ "success": true,
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
+ },
+ {
+ "abortReason": "",
+ "durationInMs": 0,
+ "id": "VGFyZ2V0UGFpcjoxNDY=",
"label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
"success": true,
"targetKind": "_copy_file rule",
@@ -403,55 +412,46 @@
{
"abortReason": "INCOMPLETE",
"durationInMs": 2,
- "id": "VGFyZ2V0UGFpcjoxNDY=",
+ "id": "VGFyZ2V0UGFpcjoxNDc=",
"label": "//next.js/pages:_jest_test_jest_entrypoint",
"success": false,
"targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "",
- "durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxNDc=",
- "label": "//react/src:src_typings",
- "success": true,
- "targetKind": "ts_project rule",
+ "abortReason": "INCOMPLETE",
+ "durationInMs": 1,
+ "id": "VGFyZ2V0UGFpcjoxNDg=",
+ "label": "//packages/one:one",
+ "success": false,
+ "targetKind": "_npm_package rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "",
- "durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxNDg=",
- "label": "//react/src:src_typecheck_test",
- "success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "abortReason": "INCOMPLETE",
+ "durationInMs": 1,
+ "id": "VGFyZ2V0UGFpcjoxNDk=",
+ "label": "//next.js:package_json",
+ "success": false,
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
- "id": "VGFyZ2V0UGFpcjoxNDk=",
- "label": "//react/public:public",
+ "id": "VGFyZ2V0UGFpcjoxNTA=",
+ "label": "//react/src:assets",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "INCOMPLETE",
- "durationInMs": 1,
- "id": "VGFyZ2V0UGFpcjoxNTA=",
- "label": "//react/src:lint",
- "success": false,
- "targetKind": "eslint_test rule",
- "testSize": "MEDIUM"
- },
- {
- "abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoxNTE=",
- "label": "//react/src:src_transpile",
- "success": true,
- "targetKind": "swc_compile rule",
+ "label": "//next.js/pages/api:api",
+ "success": false,
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
}
],
diff --git a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-failed-bazel-invocation.golden.json b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-failed-bazel-invocation.golden.json
index 390c829..c018661 100644
--- a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-failed-bazel-invocation.golden.json
+++ b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-single-failed-bazel-invocation.golden.json
@@ -259,313 +259,313 @@
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo2NA==",
- "label": "//react-webpack:_bundle_webpack_binary_entrypoint",
+ "label": "//react-webpack:_dev_server_webpack_binary_entrypoint",
"success": true,
"targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjo2NQ==",
- "label": "//next.js:jest_config",
+ "label": "//react-webpack:build_smoke_test",
"success": true,
- "targetKind": "js_library rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo2Ng==",
- "label": "//react/src:src_transpile",
+ "label": "//:eslint",
"success": true,
- "targetKind": "swc_compile rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjo2Nw==",
- "label": "//react/src:test_lib_typecheck",
+ "label": "//next.js/pages/api:api",
"success": true,
- "targetKind": "filegroup rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "",
- "durationInMs": 0,
+ "abortReason": "UNKNOWN",
+ "durationInMs": 9,
"id": "VGFyZ2V0UGFpcjo2OA==",
- "label": "//react/src:test_lib_typings",
- "success": true,
- "targetKind": "ts_project rule",
+ "label": "//next.js:next",
+ "success": false,
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo2OQ==",
- "label": "//react:write_swcrc",
+ "label": "//react:tsconfig",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo3MA==",
- "label": "//vue/libraries/simple:simple",
+ "label": "//react:write_swcrc",
"success": true,
- "targetKind": "_npm_package rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjo3MQ==",
- "label": "//vue/libraries/simple:types",
+ "label": "//vue:build_test",
"success": true,
- "targetKind": "_run_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
- "abortReason": "",
- "durationInMs": 0,
+ "abortReason": "UNKNOWN",
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjo3Mg==",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
- "success": true,
- "targetKind": "_copy_file rule",
- "testSize": "UNKNOWN"
+ "label": "//next.js:build_smoke_test",
+ "success": false,
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo3Mw==",
- "label": "//next.js/public:public",
+ "label": "//next.js:jest_config",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "UNKNOWN",
- "durationInMs": 9,
+ "abortReason": "",
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo3NA==",
- "label": "//next.js:next_start",
- "success": false,
- "targetKind": "_js_run_devserver rule",
+ "label": "//next.js:tsconfig",
+ "success": true,
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo3NQ==",
- "label": "//react:preview",
+ "label": "//react/src:assets",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "UNKNOWN",
- "durationInMs": 9,
+ "abortReason": "",
+ "durationInMs": 6,
"id": "VGFyZ2V0UGFpcjo3Ng==",
- "label": "//next.js:build_test",
- "success": false,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "label": "//react/src:lint",
+ "success": true,
+ "targetKind": "eslint_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 7,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo3Nw==",
- "label": "//next.js:eslintrc",
+ "label": "//vue:vite",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "UNKNOWN",
- "durationInMs": 9,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjo3OA==",
- "label": "//next.js:next",
+ "label": "//next.js:next_start",
"success": false,
- "targetKind": "_run_binary rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjo3OQ==",
- "label": "//vue:vite",
+ "label": "//react:build_smoke_test",
"success": true,
- "targetKind": "js_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjo4MA==",
- "label": "//react-webpack:build_smoke_test",
+ "label": "//react-webpack:_dev_server_webpack_binary",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_binary rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo4MQ==",
- "label": "//vue:build",
+ "label": "//vue/libraries/simple:simple",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "_npm_package rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo4Mg==",
- "label": "//next.js/pages:_jest_test_bazel_sequencer",
+ "label": "//next.js:package_json",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo4Mw==",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
+ "label": "//react/src:src",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 8,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo4NA==",
- "label": "//next.js/pages:_jest_test_jest_entrypoint",
+ "label": "//react-webpack/src:transpile",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "swc_compile rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo4NQ==",
- "label": "//react/src:src_typecheck_test",
+ "label": "//vue/libraries/simple:types",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "_run_binary rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo4Ng==",
- "label": "//vue/libraries/simple:build",
+ "label": "//react/src:test_lib_typings",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "UNKNOWN",
- "durationInMs": 10,
+ "abortReason": "",
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo4Nw==",
- "label": "//next.js/pages:jest_test",
- "success": false,
- "targetKind": "jest_test rule",
- "testSize": "MEDIUM"
+ "label": "//react-webpack:bundle",
+ "success": true,
+ "targetKind": "_webpack_bundle rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 6,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo4OA==",
- "label": "//react/src:lint",
+ "label": "//vue/src:src",
"success": true,
- "targetKind": "eslint_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "_copy_to_bin rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 9,
"id": "VGFyZ2V0UGFpcjo4OQ==",
- "label": "//react/src:test_lib",
+ "label": "//next.js/pages:_jest_test_jest_entrypoint",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "",
- "durationInMs": 1,
+ "abortReason": "UNKNOWN",
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjo5MA==",
- "label": "//react:vite.config",
- "success": true,
- "targetKind": "js_library rule",
+ "label": "//next.js:next_dev",
+ "success": false,
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo5MQ==",
- "label": "//vue/libraries/simple:vite.config",
+ "label": "//react/src:src_typecheck",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "filegroup rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo5Mg==",
- "label": "//react/src:src_typings",
+ "label": "//react/src:src_transpile",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "swc_compile rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo5Mw==",
- "label": "//react-webpack/src:transpile",
+ "label": "//react:vite",
"success": true,
- "targetKind": "swc_compile rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo5NA==",
- "label": "//react-webpack:_dev_server_webpack_binary",
+ "label": "//react-webpack:_bundle_webpack_binary_entrypoint",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjo5NQ==",
- "label": "//react-webpack:_dev_server_webpack_binary_entrypoint",
+ "label": "//vue:type-check",
"success": true,
- "targetKind": "directory_path rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo5Ng==",
- "label": "//next.js/pages/api:api",
+ "label": "//next.js/pages:_jest_test_bazel_sequencer",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "UNKNOWN",
- "durationInMs": 9,
+ "abortReason": "",
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo5Nw==",
- "label": "//next.js:build_smoke_test",
- "success": false,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
+ "success": true,
+ "targetKind": "_copy_file rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo5OA==",
- "label": "//react/src:src",
+ "label": "//next.js/styles:styles",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
@@ -574,250 +574,250 @@
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo5OQ==",
- "label": "//vue/src:src",
+ "label": "//react/public:public",
"success": true,
- "targetKind": "_copy_to_bin rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMDA=",
- "label": "//next.js/styles:styles",
+ "label": "//next.js:next_js_binary",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMDE=",
- "label": "//react/src:src_typecheck",
+ "label": "//packages/one:one",
"success": true,
- "targetKind": "filegroup rule",
+ "targetKind": "_npm_package rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMDI=",
- "label": "//react:build",
+ "label": "//vue/libraries/simple:vite.config",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxMDM=",
- "label": "//react-webpack:_bundle_webpack_binary",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "",
- "durationInMs": 5,
+ "abortReason": "UNKNOWN",
+ "durationInMs": 11,
"id": "VGFyZ2V0UGFpcjoxMDQ=",
- "label": "//react:package_json",
- "success": true,
- "targetKind": "js_library rule",
- "testSize": "UNKNOWN"
+ "label": "//next.js/pages:jest_test",
+ "success": false,
+ "targetKind": "jest_test rule",
+ "testSize": "MEDIUM"
},
{
- "abortReason": "",
- "durationInMs": 1,
+ "abortReason": "UNKNOWN",
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoxMDU=",
- "label": "//vue:type-check",
- "success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "label": "//next.js/pages:specs",
+ "success": false,
+ "targetKind": "ts_project rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMDY=",
- "label": "//vue:build_test",
+ "label": "//react/src:test_lib_transpile",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "swc_compile rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjoxMDc=",
- "label": "//next.js:next_js_binary",
+ "label": "//react/src:test_lib",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "UNKNOWN",
- "durationInMs": 9,
+ "abortReason": "",
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjoxMDg=",
- "label": "//next.js:next_dev",
- "success": false,
- "targetKind": "_js_run_devserver rule",
- "testSize": "UNKNOWN"
+ "label": "//react/src:test_lib_typecheck_test",
+ "success": true,
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMDk=",
- "label": "//packages/one:one",
+ "label": "//vue/libraries/simple:build",
"success": true,
- "targetKind": "_npm_package rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxMTA=",
- "label": "//react/src:assets",
+ "label": "//vue:build",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjoxMTE=",
- "label": "//react-webpack:bundle",
+ "label": "//react/src:test",
"success": true,
- "targetKind": "_webpack_bundle rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjoxMTI=",
- "label": "//react-webpack:dev_server",
+ "label": "//react:start",
"success": true,
"targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "UNKNOWN",
- "durationInMs": 10,
+ "abortReason": "",
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjoxMTM=",
- "label": "//next.js/pages:pages",
- "success": false,
- "targetKind": "ts_project rule",
+ "label": "//react-webpack:_bundle_webpack_binary",
+ "success": true,
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjoxMTQ=",
- "label": "//next.js:package_json",
+ "label": "//react-webpack:dev_server",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxMTU=",
- "label": "//react:build_smoke_test",
+ "label": "//react/src:test_lib_typecheck",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "filegroup rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoxMTY=",
- "label": "//react/src:test_lib_transpile",
+ "label": "//react:build",
"success": true,
- "targetKind": "swc_compile rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxMTc=",
- "label": "//react/src:test_lib_typecheck_test",
+ "label": "//react/src:src_typings",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "ts_project rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMTg=",
- "label": "//react:vite",
+ "label": "//packages/one:one_ts",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjoxMTk=",
- "label": "//:eslint",
+ "label": "//react/src:src_typecheck_test",
"success": true,
- "targetKind": "js_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
"durationInMs": 6,
"id": "VGFyZ2V0UGFpcjoxMjA=",
- "label": "//react/src:test",
+ "label": "//react:package_json",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMjE=",
- "label": "//react:start",
+ "label": "//react:preview",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMjI=",
- "label": "//react:tsconfig",
+ "label": "//react:vite.config",
"success": true,
- "targetKind": "ts_config rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "UNKNOWN",
- "durationInMs": 9,
+ "durationInMs": 11,
"id": "VGFyZ2V0UGFpcjoxMjM=",
- "label": "//next.js/pages:specs",
+ "label": "//next.js/pages:pages",
"success": false,
"targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMjQ=",
- "label": "//packages/one:one_ts",
+ "label": "//next.js/public:public",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
- "abortReason": "",
- "durationInMs": 1,
+ "abortReason": "UNKNOWN",
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoxMjU=",
- "label": "//next.js:tsconfig",
- "success": true,
- "targetKind": "ts_config rule",
- "testSize": "UNKNOWN"
+ "label": "//next.js:build_test",
+ "success": false,
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 8,
"id": "VGFyZ2V0UGFpcjoxMjY=",
- "label": "//react/public:public",
+ "label": "//next.js:eslintrc",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
diff --git a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-successful-bazel-build.golden.json b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-successful-bazel-build.golden.json
index 06f6024..933fcf7 100644
--- a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-successful-bazel-build.golden.json
+++ b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-successful-bazel-build.golden.json
@@ -263,399 +263,399 @@
"targets": [
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjox",
- "label": "//packages/one:one",
+ "label": "//next.js/pages:pages",
"success": true,
- "targetKind": "_npm_package rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 5,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoy",
- "label": "//react/src:test_lib_typecheck_test",
+ "label": "//next.js:build_smoke_test",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoz",
- "label": "//react-webpack:_dev_server_webpack_binary_entrypoint",
+ "label": "//next.js:jest_config",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 10,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjo0",
- "label": "//next.js/pages:pages",
+ "label": "//react/src:src_typecheck",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "filegroup rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 10,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjo1",
- "label": "//next.js:next_start",
+ "label": "//react/src:test_lib_typecheck",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "filegroup rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo2",
- "label": "//react/src:src_typings",
+ "label": "//react:tsconfig",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo3",
- "label": "//react:write_swcrc",
+ "label": "//react/src:src",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo4",
- "label": "//next.js/pages:_jest_test_bazel_sequencer",
+ "label": "//react/src:src_typings",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo5",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
+ "label": "//react/src:test_lib_transpile",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "swc_compile rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxMA==",
- "label": "//react:vite",
+ "label": "//:eslint",
"success": true,
"targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 5,
+ "durationInMs": 9,
"id": "VGFyZ2V0UGFpcjoxMQ==",
- "label": "//react-webpack:_dev_server_webpack_binary",
+ "label": "//next.js/pages:specs",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoxMg==",
- "label": "//next.js/pages/api:api",
+ "label": "//next.js:next_start",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxMw==",
- "label": "//next.js:jest_config",
+ "label": "//packages/one:one",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_npm_package rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 6,
"id": "VGFyZ2V0UGFpcjoxNA==",
- "label": "//react/src:src_transpile",
+ "label": "//react/src:test",
"success": true,
- "targetKind": "swc_compile rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxNQ==",
- "label": "//react/src:src_typecheck",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
"success": true,
- "targetKind": "filegroup rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNg==",
- "label": "//react/src:src_typecheck_test",
+ "label": "//next.js/public:public",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNw==",
- "label": "//react:preview",
+ "label": "//react:vite.config",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxOA==",
- "label": "//vue/libraries/simple:vite.config",
+ "label": "//next.js/styles:styles",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 10,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxOQ==",
- "label": "//next.js/pages:_jest_test_jest_entrypoint",
+ "label": "//next.js:package_json",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 11,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjoyMA==",
- "label": "//next.js:next",
+ "label": "//react/src:test_lib",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 6,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoyMQ==",
- "label": "//react/src:test",
+ "label": "//next.js/pages:_jest_test_jest_entrypoint",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "directory_path rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoyMg==",
- "label": "//react:tsconfig",
+ "label": "//next.js:next",
"success": true,
- "targetKind": "ts_config rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMw==",
- "label": "//react-webpack:bundle",
+ "label": "//react/src:assets",
"success": true,
- "targetKind": "_webpack_bundle rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyNA==",
- "label": "//next.js/styles:styles",
+ "label": "//react/src:src_transpile",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "swc_compile rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 10,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyNQ==",
- "label": "//next.js:build_test",
+ "label": "//vue/libraries/simple:vite.config",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjoyNg==",
- "label": "//react/src:src",
+ "label": "//next.js/pages/api:api",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 9,
"id": "VGFyZ2V0UGFpcjoyNw==",
- "label": "//react:build",
+ "label": "//next.js:eslintrc",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyOA==",
- "label": "//vue:build_test",
+ "label": "//react:vite",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "js_binary rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyOQ==",
- "label": "//:eslint",
+ "label": "//react-webpack:_dev_server_webpack_binary_entrypoint",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjozMA==",
- "label": "//react/src:test_lib_typecheck",
+ "label": "//vue/libraries/simple:build",
"success": true,
- "targetKind": "filegroup rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjozMQ==",
- "label": "//react-webpack/src:transpile",
+ "label": "//vue:type-check",
"success": true,
- "targetKind": "swc_compile rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjozMg==",
- "label": "//vue:type-check",
+ "label": "//react/public:public",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 12,
+ "durationInMs": 6,
"id": "VGFyZ2V0UGFpcjozMw==",
- "label": "//next.js/pages:jest_test",
+ "label": "//react:package_json",
"success": true,
- "targetKind": "jest_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjozNA==",
- "label": "//next.js/public:public",
+ "label": "//vue:vite",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 9,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjozNQ==",
- "label": "//next.js:eslintrc",
+ "label": "//react:build",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjozNg==",
- "label": "//react/public:public",
+ "label": "//react-webpack:dev_server",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjozNw==",
- "label": "//react/src:assets",
+ "label": "//vue:build_test",
"success": true,
- "targetKind": "js_library rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjozOA==",
- "label": "//react:vite.config",
+ "label": "//react/src:src_typecheck_test",
"success": true,
- "targetKind": "js_library rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 5,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjozOQ==",
- "label": "//react-webpack:_bundle_webpack_binary",
+ "label": "//react-webpack:_bundle_webpack_binary_entrypoint",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 5,
"id": "VGFyZ2V0UGFpcjo0MA==",
- "label": "//react-webpack:dev_server",
+ "label": "//react-webpack:build_smoke_test",
"success": true,
- "targetKind": "_js_run_devserver rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 7,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo0MQ==",
- "label": "//react/src:lint",
+ "label": "//react-webpack:bundle",
"success": true,
- "targetKind": "eslint_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "_webpack_bundle rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo0Mg==",
- "label": "//react/src:test_lib_typings",
+ "label": "//vue/libraries/simple:types",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjo0Mw==",
- "label": "//vue:vite",
+ "label": "//react/src:test_lib_typecheck_test",
"success": true,
- "targetKind": "js_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 10,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjo0NA==",
- "label": "//next.js:build_smoke_test",
+ "label": "//react:start",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "_js_run_devserver rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
@@ -668,36 +668,36 @@
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo0Ng==",
- "label": "//react/src:test_lib",
+ "label": "//react:preview",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjo0Nw==",
- "label": "//react/src:test_lib_transpile",
+ "label": "//react-webpack:_bundle_webpack_binary",
"success": true,
- "targetKind": "swc_compile rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 7,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo0OA==",
- "label": "//react:package_json",
+ "label": "//vue/src:src",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_copy_to_bin rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo0OQ==",
- "label": "//vue/libraries/simple:build",
+ "label": "//vue:build",
"success": true,
"targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
@@ -713,120 +713,120 @@
},
{
"abortReason": "",
- "durationInMs": 9,
+ "durationInMs": 12,
"id": "VGFyZ2V0UGFpcjo1MQ==",
- "label": "//next.js/pages:specs",
+ "label": "//next.js/pages:jest_test",
"success": true,
- "targetKind": "ts_project rule",
- "testSize": "UNKNOWN"
+ "targetKind": "jest_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjo1Mg==",
- "label": "//next.js:tsconfig",
+ "label": "//next.js:build_test",
"success": true,
- "targetKind": "ts_config rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo1Mw==",
- "label": "//packages/one:one_ts",
+ "label": "//next.js:tsconfig",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo1NA==",
- "label": "//vue/src:src",
+ "label": "//vue/libraries/simple:simple",
"success": true,
- "targetKind": "_copy_to_bin rule",
+ "targetKind": "_npm_package rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 9,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo1NQ==",
- "label": "//next.js:next_dev",
+ "label": "//next.js/pages:_jest_test_bazel_sequencer",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 8,
"id": "VGFyZ2V0UGFpcjo1Ng==",
- "label": "//next.js:package_json",
+ "label": "//next.js:next_dev",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 5,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjo1Nw==",
- "label": "//react:build_smoke_test",
+ "label": "//packages/one:one_ts",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "ts_project rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 7,
"id": "VGFyZ2V0UGFpcjo1OA==",
- "label": "//react-webpack:_bundle_webpack_binary_entrypoint",
+ "label": "//react/src:lint",
"success": true,
- "targetKind": "directory_path rule",
- "testSize": "UNKNOWN"
+ "targetKind": "eslint_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjo1OQ==",
- "label": "//vue/libraries/simple:simple",
+ "label": "//react:build_smoke_test",
"success": true,
- "targetKind": "_npm_package rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo2MA==",
- "label": "//vue/libraries/simple:types",
+ "label": "//react:write_swcrc",
"success": true,
"targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo2MQ==",
- "label": "//vue:build",
+ "label": "//react/src:test_lib_typings",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 5,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjo2Mg==",
- "label": "//react:start",
+ "label": "//react-webpack/src:transpile",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "swc_compile rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 6,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjo2Mw==",
- "label": "//react-webpack:build_smoke_test",
+ "label": "//react-webpack:_dev_server_webpack_binary",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_binary rule",
+ "testSize": "UNKNOWN"
}
],
"testCollection": [
@@ -851,18 +851,18 @@
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 1180000,
+ "durationMs": 68000,
"id": "VGVzdENvbGxlY3Rpb246Mw==",
- "label": "//vue:type-check",
+ "label": "//vue:build_test",
"overallStatus": "PASSED",
"strategy": ""
},
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 1715000,
+ "durationMs": 1180000,
"id": "VGVzdENvbGxlY3Rpb246NA==",
- "label": "//react/src:test",
+ "label": "//vue:type-check",
"overallStatus": "PASSED",
"strategy": ""
},
@@ -878,27 +878,27 @@
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 170000,
+ "durationMs": 1715000,
"id": "VGVzdENvbGxlY3Rpb246Ng==",
- "label": "//react-webpack:build_smoke_test",
+ "label": "//react/src:test",
"overallStatus": "PASSED",
"strategy": ""
},
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 89000,
+ "durationMs": 170000,
"id": "VGVzdENvbGxlY3Rpb246Nw==",
- "label": "//next.js:build_test",
+ "label": "//react-webpack:build_smoke_test",
"overallStatus": "PASSED",
"strategy": ""
},
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 354000,
+ "durationMs": 89000,
"id": "VGVzdENvbGxlY3Rpb246OA==",
- "label": "//next.js:build_smoke_test",
+ "label": "//next.js:build_test",
"overallStatus": "PASSED",
"strategy": ""
},
@@ -923,9 +923,9 @@
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 68000,
+ "durationMs": 354000,
"id": "VGVzdENvbGxlY3Rpb246MTE=",
- "label": "//vue:build_test",
+ "label": "//next.js:build_smoke_test",
"overallStatus": "PASSED",
"strategy": ""
}
diff --git a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-successful-bazel-test.golden.json b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-successful-bazel-test.golden.json
index db4f561..8e888ac 100644
--- a/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-successful-bazel-test.golden.json
+++ b/internal/graphql/testdata/snapshots/LoadFullBazelInvocationDetails/get-successful-bazel-test.golden.json
@@ -273,306 +273,306 @@
"targets": [
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoxNTI=",
- "label": "//react-webpack:dev_server",
+ "label": "//next.js/pages:_jest_test_jest_entrypoint",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNTM=",
- "label": "//next.js/pages:pages",
+ "label": "//next.js:jest_config",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjoxNTQ=",
- "label": "//next.js:tsconfig",
+ "label": "//next.js:next",
"success": true,
- "targetKind": "ts_config rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjoxNTU=",
- "label": "//react/src:src_typings",
+ "label": "//react/src:src_typecheck",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "filegroup rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjoxNTY=",
- "label": "//react:tsconfig",
+ "label": "//react/src:src_typecheck_test",
"success": true,
- "targetKind": "ts_config rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNTc=",
- "label": "//react-webpack:_bundle_webpack_binary_entrypoint",
+ "label": "//react/src:test_lib_transpile",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "swc_compile rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNTg=",
- "label": "//react-webpack:_dev_server_webpack_binary_entrypoint",
+ "label": "//next.js/pages:_jest_test_bazel_sequencer",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNTk=",
- "label": "//vue/src:src",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
"success": true,
- "targetKind": "_copy_to_bin rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjoxNjA=",
- "label": "//react/src:assets",
+ "label": "//react-webpack:build_smoke_test",
"success": true,
- "targetKind": "js_library rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 8,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxNjE=",
- "label": "//react/src:test",
+ "label": "//react/src:src_transpile",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "swc_compile rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjoxNjI=",
- "label": "//react:build",
+ "label": "//react/src:test_lib",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 5,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNjM=",
- "label": "//react-webpack:_bundle_webpack_binary",
+ "label": "//vue/src:src",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "_copy_to_bin rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjoxNjQ=",
- "label": "//vue/libraries/simple:types",
+ "label": "//vue:type-check",
"success": true,
- "targetKind": "_run_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 7,
"id": "VGFyZ2V0UGFpcjoxNjU=",
- "label": "//packages/one:one",
+ "label": "//next.js:build_smoke_test",
"success": true,
- "targetKind": "_npm_package rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 9,
"id": "VGFyZ2V0UGFpcjoxNjY=",
- "label": "//react/src:test_lib_typecheck",
+ "label": "//next.js:eslintrc",
"success": true,
- "targetKind": "filegroup rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxNjc=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_reporter",
+ "label": "//next.js:next_start",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNjg=",
- "label": "//vue:build",
+ "label": "//react:tsconfig",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 6,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNjk=",
- "label": "//react/src:src_typecheck_test",
+ "label": "//react-webpack:_bundle_webpack_binary_entrypoint",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "directory_path rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 5,
"id": "VGFyZ2V0UGFpcjoxNzA=",
- "label": "//react/src:test_lib_typecheck_test",
+ "label": "//react-webpack:dev_server",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "_js_run_devserver rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 8,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoxNzE=",
- "label": "//react:package_json",
+ "label": "//next.js/pages:pages",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNzI=",
- "label": "//react:vite",
+ "label": "//next.js/public:public",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 6,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNzM=",
- "label": "//next.js:build_smoke_test",
+ "label": "//react/src:src_typings",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "ts_project rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 6,
"id": "VGFyZ2V0UGFpcjoxNzQ=",
- "label": "//react/public:public",
+ "label": "//react/src:test_lib_typecheck_test",
"success": true,
- "targetKind": "js_library rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 8,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjoxNzU=",
- "label": "//react/src:lint",
+ "label": "//react:build_smoke_test",
"success": true,
- "targetKind": "eslint_test rule",
+ "targetKind": "js_test rule",
"testSize": "MEDIUM"
},
{
"abortReason": "",
"durationInMs": 4,
"id": "VGFyZ2V0UGFpcjoxNzY=",
- "label": "//next.js:next",
+ "label": "//react-webpack:_dev_server_webpack_binary",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxNzc=",
- "label": "//next.js:next_start",
+ "label": "//react-webpack:_dev_server_webpack_binary_entrypoint",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "directory_path rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 5,
+ "durationInMs": 7,
"id": "VGFyZ2V0UGFpcjoxNzg=",
- "label": "//react-webpack:_dev_server_webpack_binary",
+ "label": "//next.js:build_test",
"success": true,
- "targetKind": "js_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 11,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoxNzk=",
- "label": "//next.js/pages:_jest_test_jest_entrypoint",
+ "label": "//react:build",
"success": true,
- "targetKind": "directory_path rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxODA=",
- "label": "//react/src:test_lib_transpile",
+ "label": "//react:preview",
"success": true,
- "targetKind": "swc_compile rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 6,
"id": "VGFyZ2V0UGFpcjoxODE=",
- "label": "//react:build_smoke_test",
+ "label": "//react:start",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "_js_run_devserver rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 7,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxODI=",
- "label": "//next.js:build_test",
+ "label": "//react:write_swcrc",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "_run_binary rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxODM=",
- "label": "//packages/one:one_ts",
+ "label": "//react-webpack/src:transpile",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "swc_compile rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxODQ=",
- "label": "//react/src:test_lib_typings",
+ "label": "//vue/libraries/simple:build",
"success": true,
- "targetKind": "ts_project rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoxODU=",
- "label": "//next.js/pages/api:api",
+ "label": "//next.js/pages:specs",
"success": true,
"targetKind": "ts_project rule",
"testSize": "UNKNOWN"
@@ -581,61 +581,61 @@
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxODY=",
- "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
+ "label": "//vue:vite",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 11,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxODc=",
- "label": "//next.js/pages:jest_test",
+ "label": "//next.js:next_js_binary",
"success": true,
- "targetKind": "jest_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "js_binary rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxODg=",
- "label": "//react-webpack/src:transpile",
+ "label": "//react/src:assets",
"success": true,
- "targetKind": "swc_compile rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 4,
+ "durationInMs": 7,
"id": "VGFyZ2V0UGFpcjoxODk=",
- "label": "//react-webpack:bundle",
+ "label": "//react/src:test",
"success": true,
- "targetKind": "_webpack_bundle rule",
- "testSize": "UNKNOWN"
+ "targetKind": "js_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxOTA=",
- "label": "//vue/libraries/simple:simple",
+ "label": "//react:vite",
"success": true,
- "targetKind": "_npm_package rule",
+ "targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxOTE=",
- "label": "//next.js/pages:_jest_test_bazel_sequencer",
+ "label": "//packages/one:one_ts",
"success": true,
- "targetKind": "_copy_file rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 4,
"id": "VGFyZ2V0UGFpcjoxOTI=",
- "label": "//next.js:next_js_binary",
+ "label": "//react-webpack:_bundle_webpack_binary",
"success": true,
"targetKind": "js_binary rule",
"testSize": "UNKNOWN"
@@ -644,124 +644,124 @@
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoxOTM=",
- "label": "//react:vite.config",
+ "label": "//next.js:package_json",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxOTQ=",
- "label": "//react/src:src_typecheck",
+ "label": "//react/src:test_lib_typings",
"success": true,
- "targetKind": "filegroup rule",
+ "targetKind": "ts_project rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoxOTU=",
- "label": "//react:preview",
+ "label": "//:eslint",
"success": true,
"targetKind": "js_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoxOTY=",
- "label": "//vue/libraries/simple:build",
+ "label": "//next.js/styles:styles",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjoxOTc=",
- "label": "//vue:type-check",
+ "label": "//react/src:test_lib_typecheck",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "filegroup rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 7,
"id": "VGFyZ2V0UGFpcjoxOTg=",
- "label": "//next.js/styles:styles",
+ "label": "//react:package_json",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 10,
"id": "VGFyZ2V0UGFpcjoxOTk=",
- "label": "//react/src:src",
+ "label": "//next.js/pages:jest_test",
"success": true,
- "targetKind": "js_library rule",
- "testSize": "UNKNOWN"
+ "targetKind": "jest_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMDA=",
- "label": "//react/src:src_transpile",
+ "label": "//next.js:tsconfig",
"success": true,
- "targetKind": "swc_compile rule",
+ "targetKind": "ts_config rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMDE=",
- "label": "//vue/libraries/simple:vite.config",
+ "label": "//packages/one:one",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_npm_package rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMDI=",
- "label": "//next.js/public:public",
+ "label": "//react/src:src",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 5,
"id": "VGFyZ2V0UGFpcjoyMDM=",
- "label": "//next.js:jest_config",
+ "label": "//react-webpack:bundle",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_webpack_bundle rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 10,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMDQ=",
- "label": "//next.js:eslintrc",
+ "label": "//vue:build",
"success": true,
- "targetKind": "js_library rule",
+ "targetKind": "_run_binary rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 1,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMDU=",
- "label": "//next.js:next_dev",
+ "label": "//vue:build_test",
"success": true,
- "targetKind": "_js_run_devserver rule",
- "testSize": "UNKNOWN"
+ "targetKind": "_empty_test rule",
+ "testSize": "SMALL"
},
{
"abortReason": "",
- "durationInMs": 10,
+ "durationInMs": 3,
"id": "VGFyZ2V0UGFpcjoyMDY=",
- "label": "//next.js/pages:specs",
+ "label": "//next.js/pages/api:api",
"success": true,
"targetKind": "ts_project rule",
"testSize": "UNKNOWN"
@@ -770,82 +770,82 @@
"abortReason": "",
"durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMDc=",
- "label": "//next.js:package_json",
+ "label": "//react:vite.config",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMDg=",
- "label": "//:eslint",
+ "label": "//next.js/pages:_jest_test_bazel_snapshot_resolver",
"success": true,
- "targetKind": "js_binary rule",
+ "targetKind": "_copy_file rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 5,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMDk=",
- "label": "//react/src:test_lib",
+ "label": "//react/public:public",
"success": true,
"targetKind": "js_library rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 1,
"id": "VGFyZ2V0UGFpcjoyMTA=",
- "label": "//react:write_swcrc",
+ "label": "//next.js:next_dev",
"success": true,
- "targetKind": "_run_binary rule",
+ "targetKind": "_js_run_devserver rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 0,
+ "durationInMs": 7,
"id": "VGFyZ2V0UGFpcjoyMTE=",
- "label": "//vue:vite",
+ "label": "//react/src:lint",
"success": true,
- "targetKind": "js_binary rule",
- "testSize": "UNKNOWN"
+ "targetKind": "eslint_test rule",
+ "testSize": "MEDIUM"
},
{
"abortReason": "",
- "durationInMs": 6,
+ "durationInMs": 2,
"id": "VGFyZ2V0UGFpcjoyMTI=",
- "label": "//react:start",
+ "label": "//vue/libraries/simple:simple",
"success": true,
- "targetKind": "_js_run_devserver rule",
+ "targetKind": "_npm_package rule",
"testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 3,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMTM=",
- "label": "//react-webpack:build_smoke_test",
+ "label": "//vue/libraries/simple:types",
"success": true,
- "targetKind": "js_test rule",
- "testSize": "MEDIUM"
+ "targetKind": "_run_binary rule",
+ "testSize": "UNKNOWN"
},
{
"abortReason": "",
- "durationInMs": 2,
+ "durationInMs": 0,
"id": "VGFyZ2V0UGFpcjoyMTQ=",
- "label": "//vue:build_test",
+ "label": "//vue/libraries/simple:vite.config",
"success": true,
- "targetKind": "_empty_test rule",
- "testSize": "SMALL"
+ "targetKind": "js_library rule",
+ "testSize": "UNKNOWN"
}
],
"testCollection": [
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 1715000,
+ "durationMs": 1180000,
"id": "VGVzdENvbGxlY3Rpb246MjA=",
- "label": "//react/src:test",
+ "label": "//vue:type-check",
"overallStatus": "PASSED",
"strategy": ""
},
@@ -870,74 +870,74 @@
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 85000,
+ "durationMs": 95000,
"id": "VGVzdENvbGxlY3Rpb246MjM=",
- "label": "//react/src:src_typecheck_test",
+ "label": "//react/src:test_lib_typecheck_test",
"overallStatus": "PASSED",
"strategy": ""
},
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 95000,
+ "durationMs": 170000,
"id": "VGVzdENvbGxlY3Rpb246MjQ=",
- "label": "//react/src:test_lib_typecheck_test",
+ "label": "//react-webpack:build_smoke_test",
"overallStatus": "PASSED",
"strategy": ""
},
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 89000,
+ "durationMs": 191000,
"id": "VGVzdENvbGxlY3Rpb246MjU=",
- "label": "//next.js:build_test",
+ "label": "//react:build_smoke_test",
"overallStatus": "PASSED",
"strategy": ""
},
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 170000,
+ "durationMs": 68000,
"id": "VGVzdENvbGxlY3Rpb246MjY=",
- "label": "//react-webpack:build_smoke_test",
+ "label": "//vue:build_test",
"overallStatus": "PASSED",
"strategy": ""
},
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 191000,
+ "durationMs": 1715000,
"id": "VGVzdENvbGxlY3Rpb246Mjc=",
- "label": "//react:build_smoke_test",
+ "label": "//react/src:test",
"overallStatus": "PASSED",
"strategy": ""
},
{
- "cachedLocally": true,
+ "cachedLocally": false,
"cachedRemotely": false,
- "durationMs": 68000,
+ "durationMs": 1134000,
"id": "VGVzdENvbGxlY3Rpb246Mjg=",
- "label": "//vue:build_test",
+ "label": "//next.js/pages:jest_test",
"overallStatus": "PASSED",
- "strategy": ""
+ "strategy": "darwin-sandbox"
},
{
"cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 1180000,
+ "durationMs": 85000,
"id": "VGVzdENvbGxlY3Rpb246Mjk=",
- "label": "//vue:type-check",
+ "label": "//react/src:src_typecheck_test",
"overallStatus": "PASSED",
"strategy": ""
},
{
- "cachedLocally": false,
+ "cachedLocally": true,
"cachedRemotely": false,
- "durationMs": 1134000,
+ "durationMs": 89000,
"id": "VGVzdENvbGxlY3Rpb246MzA=",
- "label": "//next.js/pages:jest_test",
+ "label": "//next.js:build_test",
"overallStatus": "PASSED",
- "strategy": "darwin-sandbox"
+ "strategy": ""
}
],
"user": {
diff --git a/pkg/processing/save.go b/pkg/processing/save.go
index 62df01f..0a3d925 100644
--- a/pkg/processing/save.go
+++ b/pkg/processing/save.go
@@ -772,6 +772,7 @@ func (act SaveActor) findOrCreateBuild(ctx context.Context, summary *summary.Sum
SetBuildURL(summary.BuildURL).
SetBuildUUID(summary.BuildUUID).
SetEnv(buildEnvVars(summary.EnvVars)).
+ SetTimestamp(summary.StartedAt).
Save(ctx)
}
diff --git a/pkg/summary/testdata/snapshots/nextjs_build.bep.ndjson.golden.json b/pkg/summary/testdata/snapshots/nextjs_build.bep.ndjson.golden.json
index 0a40ddc..f70b0b8 100644
--- a/pkg/summary/testdata/snapshots/nextjs_build.bep.ndjson.golden.json
+++ b/pkg/summary/testdata/snapshots/nextjs_build.bep.ndjson.golden.json
@@ -277,7 +277,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.646297985Z"
+ "FirstSeen": "2024-11-22T18:11:05.45737065Z"
},
"//next.js:build_smoke_test": {
"TestSummary": {
@@ -338,7 +338,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.645864866Z"
+ "FirstSeen": "2024-11-22T18:11:05.456921071Z"
},
"//next.js:build_test": {
"TestSummary": {
@@ -399,7 +399,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.645813054Z"
+ "FirstSeen": "2024-11-22T18:11:05.456873679Z"
},
"//react-webpack:build_smoke_test": {
"TestSummary": {
@@ -460,7 +460,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.643338545Z"
+ "FirstSeen": "2024-11-22T18:11:05.454319299Z"
},
"//react/src:lint": {
"TestSummary": {
@@ -521,7 +521,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.642591311Z"
+ "FirstSeen": "2024-11-22T18:11:05.453557937Z"
},
"//react/src:src_typecheck_test": {
"TestSummary": {
@@ -582,7 +582,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.640883935Z"
+ "FirstSeen": "2024-11-22T18:11:05.452024901Z"
},
"//react/src:test": {
"TestSummary": {
@@ -643,7 +643,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.642912155Z"
+ "FirstSeen": "2024-11-22T18:11:05.453898761Z"
},
"//react/src:test_lib_typecheck_test": {
"TestSummary": {
@@ -704,7 +704,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.641403529Z"
+ "FirstSeen": "2024-11-22T18:11:05.452461779Z"
},
"//react:build_smoke_test": {
"TestSummary": {
@@ -765,7 +765,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.641738804Z"
+ "FirstSeen": "2024-11-22T18:11:05.452793313Z"
},
"//vue:build_test": {
"TestSummary": {
@@ -826,7 +826,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.641960693Z"
+ "FirstSeen": "2024-11-22T18:11:05.452877708Z"
},
"//vue:type-check": {
"TestSummary": {
@@ -887,7 +887,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.642326159Z"
+ "FirstSeen": "2024-11-22T18:11:05.453303916Z"
}
},
"Targets": {
diff --git a/pkg/summary/testdata/snapshots/nextjs_build_fail.bep.ndjson.golden.json b/pkg/summary/testdata/snapshots/nextjs_build_fail.bep.ndjson.golden.json
index f0e2a55..bda55f1 100644
--- a/pkg/summary/testdata/snapshots/nextjs_build_fail.bep.ndjson.golden.json
+++ b/pkg/summary/testdata/snapshots/nextjs_build_fail.bep.ndjson.golden.json
@@ -324,7 +324,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.727892251Z"
+ "FirstSeen": "2024-11-22T18:11:05.540947587Z"
},
"//react/src:lint": {
"TestSummary": {
@@ -385,7 +385,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.727096855Z"
+ "FirstSeen": "2024-11-22T18:11:05.540140582Z"
},
"//react/src:src_typecheck_test": {
"TestSummary": {
@@ -446,7 +446,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.725688213Z"
+ "FirstSeen": "2024-11-22T18:11:05.538754722Z"
},
"//react/src:test": {
"TestSummary": {
@@ -507,7 +507,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.727311876Z"
+ "FirstSeen": "2024-11-22T18:11:05.540371572Z"
},
"//react/src:test_lib_typecheck_test": {
"TestSummary": {
@@ -568,7 +568,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.725953005Z"
+ "FirstSeen": "2024-11-22T18:11:05.538991393Z"
},
"//react:build_smoke_test": {
"TestSummary": {
@@ -629,7 +629,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.726136543Z"
+ "FirstSeen": "2024-11-22T18:11:05.539198472Z"
},
"//vue:build_test": {
"TestSummary": {
@@ -690,7 +690,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.726575262Z"
+ "FirstSeen": "2024-11-22T18:11:05.539573908Z"
},
"//vue:type-check": {
"TestSummary": {
@@ -751,7 +751,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.726810583Z"
+ "FirstSeen": "2024-11-22T18:11:05.539905232Z"
}
},
"Targets": {
diff --git a/pkg/summary/testdata/snapshots/nextjs_test.bep.ndjson.golden.json b/pkg/summary/testdata/snapshots/nextjs_test.bep.ndjson.golden.json
index 3bc4544..baccf84 100644
--- a/pkg/summary/testdata/snapshots/nextjs_test.bep.ndjson.golden.json
+++ b/pkg/summary/testdata/snapshots/nextjs_test.bep.ndjson.golden.json
@@ -318,7 +318,7 @@
"CachedLocally": false,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.849635066Z"
+ "FirstSeen": "2024-11-22T18:11:05.680714908Z"
},
"//next.js:build_smoke_test": {
"TestSummary": {
@@ -379,7 +379,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.846436703Z"
+ "FirstSeen": "2024-11-22T18:11:05.678614228Z"
},
"//next.js:build_test": {
"TestSummary": {
@@ -440,7 +440,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.847318423Z"
+ "FirstSeen": "2024-11-22T18:11:05.67910502Z"
},
"//react-webpack:build_smoke_test": {
"TestSummary": {
@@ -501,7 +501,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.847541773Z"
+ "FirstSeen": "2024-11-22T18:11:05.679217135Z"
},
"//react/src:lint": {
"TestSummary": {
@@ -562,7 +562,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.848675163Z"
+ "FirstSeen": "2024-11-22T18:11:05.680003888Z"
},
"//react/src:src_typecheck_test": {
"TestSummary": {
@@ -623,7 +623,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.846670674Z"
+ "FirstSeen": "2024-11-22T18:11:05.678758314Z"
},
"//react/src:test": {
"TestSummary": {
@@ -684,7 +684,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.848482464Z"
+ "FirstSeen": "2024-11-22T18:11:05.679861982Z"
},
"//react/src:test_lib_typecheck_test": {
"TestSummary": {
@@ -745,7 +745,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.847067411Z"
+ "FirstSeen": "2024-11-22T18:11:05.679003944Z"
},
"//react:build_smoke_test": {
"TestSummary": {
@@ -806,7 +806,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.847767473Z"
+ "FirstSeen": "2024-11-22T18:11:05.679381401Z"
},
"//vue:build_test": {
"TestSummary": {
@@ -867,7 +867,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.847908879Z"
+ "FirstSeen": "2024-11-22T18:11:05.679468315Z"
},
"//vue:type-check": {
"TestSummary": {
@@ -928,7 +928,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.848058396Z"
+ "FirstSeen": "2024-11-22T18:11:05.67957435Z"
}
},
"Targets": {
diff --git a/pkg/summary/testdata/snapshots/nextjs_test_fail.bep.ndjson.golden.json b/pkg/summary/testdata/snapshots/nextjs_test_fail.bep.ndjson.golden.json
index 1667c43..040aa38 100644
--- a/pkg/summary/testdata/snapshots/nextjs_test_fail.bep.ndjson.golden.json
+++ b/pkg/summary/testdata/snapshots/nextjs_test_fail.bep.ndjson.golden.json
@@ -409,7 +409,7 @@
"CachedLocally": false,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.941632952Z"
+ "FirstSeen": "2024-11-22T18:11:05.764618549Z"
},
"//next.js:build_smoke_test": {
"TestSummary": {
@@ -470,7 +470,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.941091767Z"
+ "FirstSeen": "2024-11-22T18:11:05.764213982Z"
},
"//next.js:build_test": {
"TestSummary": {
@@ -531,7 +531,7 @@
"CachedLocally": true,
"CachedRemotely": false,
"DurationMs": 0,
- "FirstSeen": "2024-11-21T17:53:57.941035565Z"
+ "FirstSeen": "2024-11-22T18:11:05.76417348Z"
}
},
"Targets": {