[mirror] Go's continuous build and release infrastructure (no stability promises)
Перейти к файлу
Jeff Johnson 3c22c38761 env/windows: automate buildlet image creation
Generate a Windows image that will start a buildlet on boot and have the
dependencies needed for building/testing go/cgo.

provisioning:
- `sysprep.ps1`: disables unneeded features (eg UAC) and downloads
  dependencies (stage0, gcc)
- `startup.ps1`: sets up a user account for unattended login. this can't
  be done in the sysprep stage because the `local machine` does not yet
  exist to create accounts under.

helpers:
- `build.bash`: builds a single image, creates a vm from the image and
  verifies it with `test_buildlet.bash`
- `make.bash`: builds a set of images
- `connect.bash`: helper to RDP into a machine for troubleshooting
- `test_buildlet.bash`: validation script to exercise a buildlet

Updates golang/go#17513

Change-Id: I4812ed1fc9862ae0aa44b712ea270fd52d0c505f
Reviewed-on: https://go-review.googlesource.com/41142
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-04-27 23:11:12 +00:00
app app/build: add benchmarks subrepo 2017-03-29 20:44:17 +00:00
auth all: fix vet errors 2017-04-15 23:42:12 +00:00
buildenv cmd/coordinator: run benchmarks on try work 2017-04-21 21:46:22 +00:00
buildlet dashboard: add configs for new windows 2008, 2012, 2016 builders 2017-04-21 23:29:29 +00:00
cmd cmd/buildlet, dashboard: support for v2 windows images, 386 builder 2017-04-27 22:02:37 +00:00
dashboard cmd/buildlet, dashboard: support for v2 windows images, 386 builder 2017-04-27 22:02:37 +00:00
devapp devapp: initial support for App Engine Flex 2017-04-18 05:15:52 +00:00
doc all: upgrade farmer.golang.org links to https 2017-04-03 15:15:01 +00:00
env env/windows: automate buildlet image creation 2017-04-27 23:11:12 +00:00
envutil envutil: move dedupEnv function from gomote to new package 2015-05-21 02:13:27 +00:00
gerrit gerrit: switch to use std context package, require Go 1.7+ 2017-04-18 05:16:09 +00:00
godash all: add contexts to go-github calls 2017-02-24 21:54:04 +00:00
internal cmd/buildlet/stage0: add untar mode 2017-04-19 21:16:09 +00:00
kubernetes kubernetes/gke: skip GKE tests if no metadata present 2017-03-09 21:06:35 +00:00
livelog livelog: correct comment typo 2015-09-16 16:50:28 +00:00
maintner maintner: fix github issue reference parsing, add tests 2017-04-25 04:26:48 +00:00
pargzip pargzip: remove outdated package doc sentence 2017-02-13 16:15:03 +00:00
revdial all: add linux-arm64-packet builders 2017-04-11 23:39:43 +00:00
tarutil tarutil: fix things for Dave 2015-02-01 05:03:24 +00:00
types all: upgrade farmer.golang.org links to https 2017-04-03 15:15:01 +00:00
version version: use ProxyFromEnvironment 2017-01-27 06:42:13 +00:00
.dockerignore cmd/pubsubhelper: start of SMTP server pubsub bridge, reading Gerrit email 2017-04-03 22:47:31 +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 all: cleanup. update README, delete old stuff 2017-04-12 01:44:01 +00:00
build.go cmd/gomote: fix gomote dialing to the coordinator after recent cert changes 2017-04-06 17:23:32 +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/: 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.