| package main |
| |
| import ( |
| "path" |
| "runtime" |
| |
| androidbuildinternal "go.skia.org/infra/go/androidbuildinternal/v2beta1" |
| "go.skia.org/infra/go/gce" |
| "go.skia.org/infra/go/gce/server" |
| ) |
| |
| func AutoRollBase(name, ipAddress string) *gce.Instance { |
| vm := server.Server20170928(name) |
| vm.DataDisks[0].SizeGb = 64 |
| vm.DataDisks[0].Type = gce.DISK_TYPE_PERSISTENT_STANDARD |
| if ipAddress != "" { |
| vm.ExternalIpAddress = ipAddress |
| } |
| vm.MachineType = gce.MACHINE_TYPE_STANDARD_2 |
| vm.Metadata["owner_primary"] = "borenet" |
| vm.Metadata["owner_secondary"] = "rmistry" |
| return vm |
| } |
| |
| func Skia() *gce.Instance { |
| vm := AutoRollBase("skia-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "borenet@google.com", |
| } |
| vm.ServiceAccount = "skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func SkiaInternal() *gce.Instance { |
| vm := AutoRollBase("skia-internal-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "borenet@google.com", |
| } |
| vm.ServiceAccount = "skia-internal-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| _, filename, _, _ := runtime.Caller(0) |
| dir := path.Dir(filename) |
| vm.SetupScript = path.Join(dir, "setup-script-internal.sh") |
| return vm |
| } |
| |
| func AFDOChromium() *gce.Instance { |
| vm := AutoRollBase("afdo-chromium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "gbiv@chromium.org", |
| } |
| vm.ServiceAccount = "afdo-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func AngleSkia() *gce.Instance { |
| vm := AutoRollBase("angle-skia-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "jmadill@google.com", |
| } |
| vm.ServiceAccount = "angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func AngleChromium() *gce.Instance { |
| vm := AutoRollBase("angle-chromium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "jmadill@google.com", |
| } |
| vm.ServiceAccount = "angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func Catapult() *gce.Instance { |
| vm := AutoRollBase("catapult-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "sullivan@google.com", |
| } |
| vm.ServiceAccount = "catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func Chromite_Chromium() *gce.Instance { |
| vm := AutoRollBase("chromite-chromium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "bpastene@google.com", |
| } |
| vm.ServiceAccount = "chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func DepotTools_Chromium() *gce.Instance { |
| vm := AutoRollBase("depot-tools-chromium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "agable@google.com", |
| } |
| vm.ServiceAccount = "depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func IosInternal_Chromium() *gce.Instance { |
| vm := AutoRollBase("ios-internal-chromium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "sdefresne@google.com", |
| } |
| vm.ServiceAccount = "ios-internal-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func NaCl() *gce.Instance { |
| vm := AutoRollBase("nacl-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "mseaborn@google.com", |
| } |
| vm.ServiceAccount = "nacl-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func PDFium() *gce.Instance { |
| vm := AutoRollBase("pdfium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "dsinclair@google.com", |
| } |
| vm.ServiceAccount = "pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func Fuchsia() *gce.Instance { |
| vm := AutoRollBase("fuchsia-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "brianosman@google.com", |
| "rmistry@google.com", |
| } |
| vm.ServiceAccount = "skia-fuchsia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func FuchsiaSDK_Chromium() *gce.Instance { |
| vm := AutoRollBase("fuchsia-sdk-chromium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "jbudorick@chromium.org", |
| "cr-fuchsia+bot@chromium.org", |
| } |
| vm.ServiceAccount = "fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func SkCMS_Skia() *gce.Instance { |
| vm := AutoRollBase("skcms-skia-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "brianosman@google.com", |
| "mtklein@google.com", |
| } |
| vm.ServiceAccount = "skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func SrcInternal_Chromium() *gce.Instance { |
| vm := AutoRollBase("src-internal-chromium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "mmoss@google.com", |
| } |
| vm.ServiceAccount = "src-internal-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func WebRTC_Chromium() *gce.Instance { |
| vm := AutoRollBase("webrtc-chromium-autoroll", "" /* Use ephemeral IP */) |
| vm.Contacts = []string{ |
| "comms-engprod-sto@google.com", |
| } |
| vm.ServiceAccount = "webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com" |
| return vm |
| } |
| |
| func AddAndroidConfigs(vm *gce.Instance) *gce.Instance { |
| vm.DataDisks[0].SizeGb = 512 |
| vm.MachineType = gce.MACHINE_TYPE_HIGHMEM_16 |
| vm.Scopes = append(vm.Scopes, androidbuildinternal.AndroidbuildInternalScope) |
| |
| _, filename, _, _ := runtime.Caller(0) |
| dir := path.Dir(filename) |
| vm.SetupScript = path.Join(dir, "setup-script-android.sh") |
| return vm |
| } |
| |
| func AndroidMaster() *gce.Instance { |
| vm := AutoRollBase("android-master-autoroll", "130.211.199.63" /* Needs whitelisted static IP */) |
| vm.Contacts = []string{ |
| "djsollen@google.com", |
| "rmistry@google.com", |
| } |
| return AddAndroidConfigs(vm) |
| } |
| |
| func AndroidNext() *gce.Instance { |
| vm := AutoRollBase("android-next-autoroll", "35.202.27.169" /* Needs whitelisted static IP */) |
| vm.Contacts = []string{ |
| "djsollen@google.com", |
| "rmistry@google.com", |
| } |
| return AddAndroidConfigs(vm) |
| } |
| |
| func AndroidO() *gce.Instance { |
| vm := AutoRollBase("android-o-autoroll", "104.198.73.244" /* Needs whitelisted static IP */) |
| vm.Contacts = []string{ |
| "djsollen@google.com", |
| "rmistry@google.com", |
| } |
| return AddAndroidConfigs(vm) |
| } |
| |
| func Google3() *gce.Instance { |
| // Not using AutoRollBase because this server does not need auth.SCOPE_GERRIT. |
| vm := server.Server20170928("google3-autoroll") |
| vm.Contacts = []string{ |
| "benjaminwagner@google.com", |
| } |
| vm.DataDisks[0].SizeGb = 64 |
| vm.DataDisks[0].Type = gce.DISK_TYPE_PERSISTENT_STANDARD |
| vm.MachineType = gce.MACHINE_TYPE_STANDARD_2 |
| vm.Metadata["owner_primary"] = "benjaminwagner" |
| vm.Metadata["owner_secondary"] = "borenet" |
| return vm |
| } |
| |
| func main() { |
| server.Main(gce.ZONE_DEFAULT, map[string]*gce.Instance{ |
| "afdo-chromium": AFDOChromium(), |
| "android-master": AndroidMaster(), |
| "android-next": AndroidNext(), |
| "android-o": AndroidO(), |
| "angle-chromium": AngleChromium(), |
| "angle-skia": AngleSkia(), |
| "catapult": Catapult(), |
| "chromite-chromium": Chromite_Chromium(), |
| "depot-tools-chromium": DepotTools_Chromium(), |
| "fuchsia": Fuchsia(), |
| "fuchsia-sdk-chromium": FuchsiaSDK_Chromium(), |
| "google3": Google3(), |
| "ios-internal-chromium": IosInternal_Chromium(), |
| "nacl": NaCl(), |
| "pdfium": PDFium(), |
| "skcms-skia": SkCMS_Skia(), |
| "skia": Skia(), |
| "skia-internal": SkiaInternal(), |
| "src-internal-chromium": SrcInternal_Chromium(), |
| "webrtc-chromium": WebRTC_Chromium(), |
| }) |
| } |