[mirror] Go's continuous build and release infrastructure (no stability promises)
Перейти к файлу
Austin Clements b8e783ac6b cmd/coordinator: use unambiguous change triple
There are several places where the coordinator passes a CL's Change-ID
back to the Gerrit API. However, these APIs will fail if there are
multiple changes with the same Change-ID (for example, if there's a
cherry-pick). One consequence of this is that the coordinator can't
post comments on changes with ambiguous Change-IDs, which means it
can't post trybot status or update the TryBot-Result label.

Because of this ambiguity, the Gerrit APIs also accept a more complete
and unique triple of (project, branch, Change-ID). This commit adds a
ChangeTriple method to tryKey that returns this triple and modifies
all API calls to use this, as well as a few places on the status
pages.

Fixes golang/go#13331.

Change-Id: Ia13f66a5cb27a14dfc4c95b7e460110d2dbefe62
Reviewed-on: https://go-review.googlesource.com/17071
Reviewed-by: Andrew Gerrand <adg@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-11-20 17:42:26 +00:00
app app/build, cmd/pushback: add term repo 2015-11-18 04:35:11 +00:00
auth all: remove extdep build tag, now that it's all out of x/tools 2015-01-21 16:18:31 +00:00
buildlet all: display pool status and delete failed/old pods 2015-11-05 11:33:24 +00:00
cmd cmd/coordinator: use unambiguous change triple 2015-11-20 17:42:26 +00:00
dashboard dashboard/builders: android 386, amd64, and arm64 2015-11-20 17:39:39 +00:00
doc all: remote buildlets 2015-07-07 16:45:21 +00:00
env env: update linux-x86 gccgo Dockerfile 2015-10-22 18:11:21 +00:00
envutil envutil: move dedupEnv function from gomote to new package 2015-05-21 02:13:27 +00:00
gerrit gerrit: add GitCookies auth mode 2015-10-22 01:56:53 +00:00
internal internal/loghash: move (soon-to-be-) shared code to its own package 2015-06-09 22:46:08 +00:00
kubernetes all: display pool status and delete failed/old pods 2015-11-05 11:33:24 +00:00
livelog livelog: correct comment typo 2015-09-16 16:50:28 +00:00
pargzip pargzip: fix blocked goroutine on write error 2015-09-18 01:35:35 +00:00
revdial revdial: fix ABBA deadlock 2015-10-07 20:17:31 +00:00
tarutil tarutil: fix things for Dave 2015-02-01 05:03:24 +00:00
types app/build: expand JSON format output 2015-11-05 16:39:53 +00:00
AUTHORS add top-level info files 2015-01-21 17:08:52 +11:00
CONTRIBUTING.md doc: add CONTRIBUTING.md 2015-02-18 23:42:02 +00:00
CONTRIBUTORS add top-level info files 2015-01-21 17:08:52 +11:00
LICENSE add top-level info files 2015-01-21 17:08:52 +11:00
PATENTS add top-level info files 2015-01-21 17:08:52 +11:00
README re-word README 2015-01-21 17:09:50 +11:00
build.go cmd/gomote, cmd/upload, build: add gccgo-specific TODOs and constants 2015-10-19 21:21:53 +00:00
codereview.cfg build: add codereview.cfg 2015-03-18 17:04:30 +00:00

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/: a.k.a the "dashboard"; the App Engine code that runs http://build.golang.org/

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.

  watcher/: a daemon that watches for new commits to the Go repository and
          its sub-repositories, and notifies the dashboard of those commits.

env/:     configuration files describing the environment of builders and related
          binaries. Many builders are still configured ad-hoc, without a hermetic
          environment.

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.