blob: 9e8c9716153ba5f42b787b913a257c4ed4864e59 [file] [log] [blame] [view]
Brad Fitzpatrick65c06ed2017-08-05 21:15:42 -07001## Builders
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11002
Brad Fitzpatrick65c06ed2017-08-05 21:15:42 -07003Build configs (at the top) and host configs (bottom) are listed here:
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11004
David Crawshaw324ff4e2015-05-01 13:04:55 -04005http://farmer.golang.org/builders
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11006
Brad Fitzpatrick65c06ed2017-08-05 21:15:42 -07007A builder runs on a certain host type. (e.g. `linux-386-387` is a build type. It runs on `host-linux-kubestd`, a Kubernetes-based linux/amd64 host)
8
9They come from the file https://github.com/golang/build/blob/master/dashboard/builders.go
10
David Crawshaw324ff4e2015-05-01 13:04:55 -040011For design details about the coordinator, see http://golang.org/s/builderplan
12
Brad Fitzpatrick65c06ed2017-08-05 21:15:42 -070013# How to set up a builder
Dmitri Shuralyov684417f2018-08-24 12:58:44 -040014 1. talk to golang-dev@ to get a builder host type & hash (they can get one from e.g. https://build-dot-golang-org.appspot.com/key?builder=host-foo-bar), and put that in ` ~/.gobuildkey` or `~/.gobuildkey-host-foo-bar` or the file pointed to by env var `$GO_BUILD_KEY_PATH`.
Brad Fitzpatrick65c06ed2017-08-05 21:15:42 -070015 1. go get golang.org/x/build/cmd/buildlet
16 1. Run the buildlet in a loop or under systemd: `while true; do buildlet -coordinator=farmer.golang.org -reverse-type=host-foo-bar -reboot=false; done`
17 1. Verify you can see the host registered at https://farmer.golang.org/#pools in the "Reverse pool machine detail" section and "Reverse pool summary".
18 1. Add a builder type to https://github.com/golang/build/blob/master/dashboard/builders.go (see the `addBuilder` lines). Run tests. Send the CL.
19 1. Have golang-dev deploy it.
Josh Bleecher Snyder156f9502017-04-05 07:28:18 -070020
21## Old-style builders
22
Brad Fitzpatrick65c06ed2017-08-05 21:15:42 -070023Older-style builders are listed below. These builders are configured and run manually. The bug https://github.com/golang/go/issues/21191 tracks migrating the remaining ones over to the new system.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110024
25| **title** | **description** | **owner** | **notes** |
26|:----------|:----------------|:----------|:----------|
Dave Cheney3ce13f62017-04-09 13:35:29 +100027| nacl-arm-cheney | Raspberry Pi 3 | @davecheney | |
Brad Fitzpatrick4ec9c972017-07-27 08:16:01 -070028| openbsd-arm | SolidRun CuBox-i4Pro, ARM Cortex A9 R2 792 MHz, 2GB RAM | @4a6f656c - Joel Sing | |
Brad Fitzpatrick4ec9c972017-07-27 08:16:01 -070029| plan9-arm | Raspberry Pi 3 Model B | @0intro - David du Colombier | Plan 9 from Bell Labs |
30| plan9-amd64-9front | VM | @0intro - David du Colombier | 9front |
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110031
32# Builder Requirements
33 * internet connection (at least be able to access Google and http://build.golang.org)
34 * preferably with two or more (V)CPUs, as at least one test (` sync/atomic ` requires ` runtime.NumCPU() > 1 ` to test more completely)
Minux Ma9ffc47b2015-09-19 05:24:02 -040035 * at least 512MiB of memory (1GB or more highly recommended. 512MB might need a small `GOGC` setting to avoid thrashing.)
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110036
37# Restrictions
38 * The combination of Ubuntu 11.10 or 12.04 OMAP4 kernel and pandaboard (ES) have proven unstable as builders. See [issue 4305](https://code.google.com/p/go/issues/detail?id=4305). Make sure you have updated to the latest available 12.04.2 release.
39