build

package module
v0.0.0-...-529bf19 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2017 License: BSD-3-Clause Imports: 6 Imported by: 0

README

This subrepository holds the source for various packages and tools that support
development of the Go programming language.

To submit changes to this repository, see http://golang.org/doc/contribute.html.

app/: the App Engine code that runs https://build.golang.org/ and
      stores which builds have passed or failed. It is responsible for
      knowing which post-submit builds still need to be done. (It doesn't know
      anyting about trybot builds that need to be done)
      It doesn't execute any builds itself. See the coordinator.

buildenv/: variables with details of the production environment vs the
           staging environment.

cmd/:

  buildlet/: HTTP server that runs on a VM and is told what to write to disk
           and what command to run. This is cross-compiled to different architectures
           and is the first program run when a builder VM comes up. It then
           is contacted by the coordinator to do a build. Not all builders use
           the buildlet (at least not yet).

  builder/: gobuilder, a Go continuous build client. The original Go builder program.

  coordinator/: daemon that runs on CoreOS on Google Compute Engine and manages
          builds using Docker containers and/or VMs as needed.

  retrybuilds/: a Go client program to delete build results from the dashboard (app)

  upload/:  a Go program to upload to Google Cloud Storage. used by Makefiles elsewhere.

  gitmirror/: a daemon that watches for new commits to the Go repository and
              its sub-repositories, and notifies the dashboard of those commits,
              as well as syncing them to GitHub. It also serves tarballs to
              the coordinator.

dashboard/: the configuration of the various build configs and host configs.

env/:     configuration files describing the environment of builders and related
          binaries.

types/:   a Go package contain common types used by other pieces.


If you wish to run a Go builder, please email golang-dev@googlegroups.com first.
There is documentation at https://golang.org/wiki/DashboardBuilders but
depending on the type of builder, we may want to run it ourselves, after you
prepare an environment description (resulting in a VM image) of it. See the env
directory.

Documentation

Overview

Package build contains constants for the Go continuous build system.

Index

Constants

View Source
const DevCoordinatorCA = `` /* 955-byte string literal not displayed */

DevCoordinatorCA is the cert used by the coordinator and buildlet in development mode. (Not to be confused with the staging "dev" instance under GCE project "go-dashboard-dev")

View Source
const DevCoordinatorKey = `` /* 1674-byte string literal not displayed */

DevCoordinatorKey is the key used by the coordinator and buildlet in development mode. (Not to be confused with the staging "dev" instance under GCE project "go-dashboard-dev")

View Source
const ProdCoordinatorCA = `` /* 1114-byte string literal not displayed */

ProdCoordinatorCA is the production CA cert for farmer.golang.org.

View Source
const StagingCoordinatorCA = `` /* 1073-byte string literal not displayed */

StagingCoordinatorCA is the cert used on GCE for the go-dashboard-dev project.

Variables

This section is empty.

Functions

This section is empty.

Types

type CoordinatorInstance

type CoordinatorInstance string

CoordinatorInstance is either "prod", "staging", or "localhost:<port>".

const (
	ProdCoordinator    CoordinatorInstance = "prod"
	StagingCoordinator CoordinatorInstance = "staging"
)

func (CoordinatorInstance) CACert

func (ci CoordinatorInstance) CACert() string

CACert returns the public certificate of the CA used to sign this coordinator instance's certificate.

func (CoordinatorInstance) TLSDialer

func (ci CoordinatorInstance) TLSDialer() func(network, addr string) (net.Conn, error)

func (CoordinatorInstance) TLSHostPort

func (ci CoordinatorInstance) TLSHostPort() (string, error)

Directories

Path Synopsis
Package auth contains shared code related to OAuth2 and obtaining tokens for a project.
Package auth contains shared code related to OAuth2 and obtaining tokens for a project.
Package autocertcache contains autocert.Cache implementations for golang.org/x/crypto/autocert.
Package autocertcache contains autocert.Cache implementations for golang.org/x/crypto/autocert.
Package buildenv contains definitions for the environments the Go build system can run in.
Package buildenv contains definitions for the environments the Go build system can run in.
Package buildlet contains client tools for working with a buildlet server.
Package buildlet contains client tools for working with a buildlet server.
cmd
builder
Go Builder is a continuous build client for the Go project.
Go Builder is a continuous build client for the Go project.
buildlet
The buildlet is an HTTP server that untars content to disk and runs commands it has untarred, streaming their output back over HTTP.
The buildlet is an HTTP server that untars content to disk and runs commands it has untarred, streaming their output back over HTTP.
buildlet/stage0
The stage0 command looks up the buildlet's URL from its environment (GCE metadata service, scaleway, etc), downloads it, and runs it.
The stage0 command looks up the buildlet's URL from its environment (GCE metadata service, scaleway, etc), downloads it, and runs it.
buildstats
The buildstats command syncs build logs from Datastore to Bigquery.
The buildstats command syncs build logs from Datastore to Bigquery.
cl
CL prints a list of open Go code reviews (also known as change lists, or CLs).
CL prints a list of open Go code reviews (also known as change lists, or CLs).
coordinator
The coordinator runs the majority of the Go build system.
The coordinator runs the majority of the Go build system.
coordinator/spanlog
Package spanlog provides span and event logger interfaces that are used by the build coordinator infrastructure.
Package spanlog provides span and event logger interfaces that are used by the build coordinator infrastructure.
docker2boot
The docker2boot command converts a Docker image into a bootable GCE VM image.
The docker2boot command converts a Docker image into a bootable GCE VM image.
fetchlogs
Fetchlogs downloads build failure logs from the Go dashboard so they can be accessed and searched from the local file system.
Fetchlogs downloads build failure logs from the Go dashboard so they can be accessed and searched from the local file system.
genbootstrap
The genbootstrap command prepares GO_BOOTSTRAP tarballs suitable for use on builders.
The genbootstrap command prepares GO_BOOTSTRAP tarballs suitable for use on builders.
gitlock
The gitlock command helps write Dockerfiles with a bunch of lines to lock git dependencies in place.
The gitlock command helps write Dockerfiles with a bunch of lines to lock git dependencies in place.
gitmirror
The gitmirror binary watches the specified Gerrit repositories for new commits and reports them to the build dashboard.
The gitmirror binary watches the specified Gerrit repositories for new commits and reports them to the build dashboard.
gomote
The gomote command is a client for the Go builder infrastructure.
The gomote command is a client for the Go builder infrastructure.
gopherbot
The gopherbot command runs Go's gopherbot role account on GitHub and Gerrit.
The gopherbot command runs Go's gopherbot role account on GitHub and Gerrit.
makemac
The makemac command starts OS X VMs for the builders.
The makemac command starts OS X VMs for the builders.
perfrun
perfrun interacts with the buildlet coordinator to run the go1 benchmarks on a buildlet slave for the most recent successful commits according to the build dashboard.
perfrun interacts with the buildlet coordinator to run the go1 benchmarks on a buildlet slave for the most recent successful commits according to the build dashboard.
pubsubhelper
The pubsubhelper is an SMTP server for Gerrit updates and an HTTP server for Github webhook updates.
The pubsubhelper is an SMTP server for Gerrit updates and an HTTP server for Github webhook updates.
pubsubhelper/pubsubtypes
Package pubsubtypes contains types published by pubsubhelper.
Package pubsubtypes contains types published by pubsubhelper.
pushback
Command pushback is a service that monitors a set of GitHub repositories for incoming Pull Requests, replies with contribution instructions, and closes the request.
Command pushback is a service that monitors a set of GitHub repositories for incoming Pull Requests, replies with contribution instructions, and closes the request.
racebuild
racebuild builds the race runtime (syso files) on all supported OSes using gomote.
racebuild builds the race runtime (syso files) on all supported OSes using gomote.
release
Command release builds a Go release.
Command release builds a Go release.
relnote
The relnote command summarizes the Go changes in Gerrit marked with RELNOTE annotations for the release notes.
The relnote command summarizes the Go changes in Gerrit marked with RELNOTE annotations for the release notes.
retrybuilds
The retrybuilds command clears build failures from the build.golang.org dashboard to force them to be rebuilt.
The retrybuilds command clears build failures from the build.golang.org dashboard to force them to be rebuilt.
rundockerbuildlet
The rundockerbuildlet command loops forever and creates and cleans up Docker containers running reverse buildlets.
The rundockerbuildlet command loops forever and creates and cleans up Docker containers running reverse buildlets.
scaleway
The scaleway command creates ARM servers on Scaleway.com.
The scaleway command creates ARM servers on Scaleway.com.
upload
The upload command writes a file to Google Cloud Storage.
The upload command writes a file to Google Cloud Storage.
Package dashboard contains shared configuration and logic used by various pieces of the Go continuous build system.
Package dashboard contains shared configuration and logic used by various pieces of the Go continuous build system.
Devapp is the server running dev.golang.org.
Devapp is the server running dev.golang.org.
Package envutil provides utilities for working with environment variables.
Package envutil provides utilities for working with environment variables.
Package gerrit contains code to interact with Gerrit servers.
Package gerrit contains code to interact with Gerrit servers.
Package godash generates dashboards about issues and CLs in the Go Github and Gerrit projects.
Package godash generates dashboards about issues and CLs in the Go Github and Gerrit projects.
internal
buildgo
Package buildgo provides tools for pushing and building the Go distribution on buildlets.
Package buildgo provides tools for pushing and building the Go distribution on buildlets.
gophers
Package gophers is a list of names, emails, and Github usernames of people from the Go git repos and issue trackers.
Package gophers is a list of names, emails, and Github usernames of people from the Go git repos and issue trackers.
httpdl
Package httpdl downloads things from HTTP to local disk.
Package httpdl downloads things from HTTP to local disk.
loghash
Package loghash provides the shared information for computing a log hash (as in https://build.golang.org/log/HASH).
Package loghash provides the shared information for computing a log hash (as in https://build.golang.org/log/HASH).
lru
Package lru implements an LRU cache.
Package lru implements an LRU cache.
singleflight
Package singleflight provides a duplicate function call suppression mechanism.
Package singleflight provides a duplicate function call suppression mechanism.
sourcecache
Package sourcecache provides a cache of code found in Git repositories.
Package sourcecache provides a cache of code found in Git repositories.
untar
Package untar untars a tarball to disk.
Package untar untars a tarball to disk.
Package kubernetes contains a minimal client for the Kubernetes API.
Package kubernetes contains a minimal client for the Kubernetes API.
api
Package api contains the Kubernetes v1 API types.
Package api contains the Kubernetes v1 API types.
gke
Package gke contains code for interacting with Google Container Engine (GKE), the hosted version of Kubernetes on Google Cloud Platform.
Package gke contains code for interacting with Google Container Engine (GKE), the hosted version of Kubernetes on Google Cloud Platform.
Package livelog provides a buffer that can be simultaneously written to by one writer and read from by many readers.
Package livelog provides a buffer that can be simultaneously written to by one writer and read from by many readers.
Package maintner mirrors, searches, syncs, and serves Git, Github, and Gerrit metadata.
Package maintner mirrors, searches, syncs, and serves Git, Github, and Gerrit metadata.
godata
Package godata loads the Go project's corpus of Git, Github, and Gerrit activity into memory to allow easy analysis without worrying about APIs and their pagination, quotas, and other nuisances and limitations.
Package godata loads the Go project's corpus of Git, Github, and Gerrit activity into memory to allow easy analysis without worrying about APIs and their pagination, quotas, and other nuisances and limitations.
gostats
The gostats command computes stats about the Go project.
The gostats command computes stats about the Go project.
maintnerd
The maintnerd command serves project maintainer data from Git, Github, and/or Gerrit.
The maintnerd command serves project maintainer data from Git, Github, and/or Gerrit.
maintnerd/apipb
Package apipb is a generated protocol buffer package.
Package apipb is a generated protocol buffer package.
maintpb
Package maintpb is a generated protocol buffer package.
Package maintpb is a generated protocol buffer package.
maintq
The maintq command queries a maintnerd gRPC server.
The maintq command queries a maintnerd gRPC server.
reclog
Package reclog contains readers and writers for a record wrapper format used by maintner.
Package reclog contains readers and writers for a record wrapper format used by maintner.
Package pargzip contains a parallel gzip writer implementation.
Package pargzip contains a parallel gzip writer implementation.
Package revdial implements a Dialer and Listener which work together to turn an accepted connection (for instance, a Hijacked HTTP request) into a Dialer which can then create net.Conns connecting back to the original dialer, which then gets a net.Listener accepting those conns.
Package revdial implements a Dialer and Listener which work together to turn an accepted connection (for instance, a Hijacked HTTP request) into a Dialer which can then create net.Conns connecting back to the original dialer, which then gets a net.Listener accepting those conns.
Package tarutil contains utilities for working with tar archives.
Package tarutil contains utilities for working with tar archives.
Package types contains common types used by the Go continuous build system.
Package types contains common types used by the Go continuous build system.
The version package permits running a specific version of Go.
The version package permits running a specific version of Go.
go1.8beta1
The go1.8beta1 command runs the go command from go1.8beta1.
The go1.8beta1 command runs the go command from go1.8beta1.
go1.8beta2
The go1.8beta2 command runs the go command from go1.8beta2.
The go1.8beta2 command runs the go command from go1.8beta2.
go1.8rc1
The go1.8rc1 command runs the go command from go1.8rc1.
The go1.8rc1 command runs the go command from go1.8rc1.
go1.8rc2
The go1.8rc2 command runs the go command from go1.8rc2.
The go1.8rc2 command runs the go command from go1.8rc2.
go1.8rc3
The go1.8rc3 command runs the go command from go1.8rc3.
The go1.8rc3 command runs the go command from go1.8rc3.
go1.9beta1
The go1.9beta1 command runs the go command from go1.9beta1.
The go1.9beta1 command runs the go command from go1.9beta1.
go1.9beta2
The go1.9beta2 command runs the go command from go1.9beta2.
The go1.9beta2 command runs the go command from go1.9beta2.

Jump to

Keyboard shortcuts

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