Brad Fitzpatrick | 65c06ed | 2017-08-05 21:15:42 -0700 | [diff] [blame] | 1 | ## Builders |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 2 | |
Brad Fitzpatrick | 65c06ed | 2017-08-05 21:15:42 -0700 | [diff] [blame] | 3 | Build configs (at the top) and host configs (bottom) are listed here: |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 4 | |
David Crawshaw | 324ff4e | 2015-05-01 13:04:55 -0400 | [diff] [blame] | 5 | http://farmer.golang.org/builders |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 6 | |
Brad Fitzpatrick | 65c06ed | 2017-08-05 21:15:42 -0700 | [diff] [blame] | 7 | A 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 | |
| 9 | They come from the file https://github.com/golang/build/blob/master/dashboard/builders.go |
| 10 | |
David Crawshaw | 324ff4e | 2015-05-01 13:04:55 -0400 | [diff] [blame] | 11 | For design details about the coordinator, see http://golang.org/s/builderplan |
| 12 | |
Brad Fitzpatrick | 65c06ed | 2017-08-05 21:15:42 -0700 | [diff] [blame] | 13 | # How to set up a builder |
Dmitri Shuralyov | 684417f | 2018-08-24 12:58:44 -0400 | [diff] [blame] | 14 | 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 Fitzpatrick | 65c06ed | 2017-08-05 21:15:42 -0700 | [diff] [blame] | 15 | 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 Snyder | 156f950 | 2017-04-05 07:28:18 -0700 | [diff] [blame] | 20 | |
| 21 | ## Old-style builders |
| 22 | |
Brad Fitzpatrick | 65c06ed | 2017-08-05 21:15:42 -0700 | [diff] [blame] | 23 | Older-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 Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 24 | |
| 25 | | **title** | **description** | **owner** | **notes** | |
| 26 | |:----------|:----------------|:----------|:----------| |
Dave Cheney | 3ce13f6 | 2017-04-09 13:35:29 +1000 | [diff] [blame] | 27 | | nacl-arm-cheney | Raspberry Pi 3 | @davecheney | | |
Brad Fitzpatrick | 4ec9c97 | 2017-07-27 08:16:01 -0700 | [diff] [blame] | 28 | | openbsd-arm | SolidRun CuBox-i4Pro, ARM Cortex A9 R2 792 MHz, 2GB RAM | @4a6f656c - Joel Sing | | |
Brad Fitzpatrick | 4ec9c97 | 2017-07-27 08:16:01 -0700 | [diff] [blame] | 29 | | 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 Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 31 | |
| 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 Ma | 9ffc47b | 2015-09-19 05:24:02 -0400 | [diff] [blame] | 35 | * at least 512MiB of memory (1GB or more highly recommended. 512MB might need a small `GOGC` setting to avoid thrashing.) |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 36 | |
| 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 | |