types

package
v0.0.0-...-9f8a61a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2017 License: BSD-3-Clause Imports: 1 Imported by: 0

README

GoDoc

golang.org/x/build/types

Package types contains common types used by the Go continuous build system.

Documentation

Overview

Package types contains common types used by the Go continuous build system.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildRecord

type BuildRecord struct {
	ID        string
	ProcessID string
	StartTime time.Time
	IsTry     bool // is trybot run
	GoRev     string
	Rev       string // same as GoRev for repo "go"
	Repo      string // "go", "net", etc.
	Builder   string // "linux-amd64-foo"
	OS        string // "linux"
	Arch      string // "amd64"

	EndTime    time.Time
	Seconds    float64
	Result     string // empty string, "ok", "fail"
	FailureURL string `datastore:",noindex"`
}

BuildRecord is the datastore entity we write both at the beginning and end of a build. Some fields are not updated until the end.

type BuildRevision

type BuildRevision struct {
	// Repo is "go" for the main repo, else  "tools", "crypto", "net", etc.
	// These are repos as listed at https://go.googlesource.com/
	Repo string `json:"repo"`

	// Revision is the full git hash of the repo.
	Revision string `json:"revision"`

	// ParentRevisions is the full git hashes of the parents of
	// Revision.
	ParentRevisions []string `json:"parentRevisions"`

	// GoRevision is the full git hash of the "go" repo, if Repo is not "go" itself.
	// Otherwise this is empty.
	GoRevision string `json:"goRevision,omitempty"`

	// Date is the commit date of this revision, formatted in RFC3339.
	Date string `json:"date"`

	// Branch is the branch of this commit, e.g. "master" or "dev.ssa".
	Branch string `json:"branch"`

	// Author is the author of this commit in standard git form
	// "Name <email>".
	Author string `json:"author"`

	// Desc is the commit message of this commit. It may be
	// truncated.
	Desc string `json:"desc"`

	// Results are the build results for each of the builders in
	// the same length slice BuildStatus.Builders.
	// Each string is either "" (if no data), "ok", or the URL to failure logs.
	Results []string `json:"results"`
}

BuildRevision is the status of a commit across all builders. It corresponds to a single row of https://build.golang.org/

type BuildStatus

type BuildStatus struct {
	// Builders is a list of all known builders.
	// The order that builders appear is the same order as the build results for a revision.
	Builders []string `json:"builders"`

	// Revisions are the revisions shown on the front page of build.golang.org,
	// in the same order. It starts with the "go" repo, from recent to old, and then
	// it has 1 each of the subrepos, with only their most recent commit.
	Revisions []BuildRevision `json:"revisions"`
}

BuildStatus is the data structure that's marshalled as JSON for the https://build.golang.org/?mode=json page.

type ReverseBuilder

type ReverseBuilder struct {
	Name         string
	HostType     string
	ConnectedSec float64
	IdleSec      float64 `json:",omitempty"`
	BusySec      float64 `json:",omitempty"`
	Version      string  // buildlet version
	Busy         bool
}

type ReverseBuilderStatus

type ReverseBuilderStatus struct {
	// Machines maps from the connected builder name (anything unique) to its status.
	HostTypes map[string]*ReverseHostStatus
}

ReverseBuilderStatus is https://farmer.golang.org/status/reverse.json

It is used by monitoring and the Mac VMWare infrastructure to adjust the Mac VMs based on deaths and demand.

func (*ReverseBuilderStatus) Host

func (s *ReverseBuilderStatus) Host(hostType string) *ReverseHostStatus

type ReverseHostStatus

type ReverseHostStatus struct {
	HostType  string // dashboard.Hosts key
	Connected int    // number of connected buildlets
	Expect    int    // expected number, from dashboard.Hosts config
	Idle      int
	Busy      int
	Waiters   int // number of builds waiting on a buildlet host of this type

	// Machines are all connected buildlets of this host type,
	// keyed by machine self-reported unique name.
	Machines map[string]*ReverseBuilder
}

ReverseHostStatus is part of ReverseBuilderStatus.

type SpanRecord

type SpanRecord struct {
	BuildID string
	IsTry   bool // is trybot run
	GoRev   string
	Rev     string // same as GoRev for repo "go"
	Repo    string // "go", "net", etc.
	Builder string // "linux-amd64-foo"
	OS      string // "linux"
	Arch    string // "amd64"

	Event     string
	Error     string // empty for no error
	Detail    string
	StartTime time.Time
	EndTime   time.Time
	Seconds   float64
}

SpanRecord is a datastore entity we write only at the end of a span (roughly a "step") of the build.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL