skia2/infra/bots/update_meta_config.py
Eric Boren 32f8478ae9 Remove UpdateMetaConfig bot
It's perma-failing, and it doesn't work with Kitchen due to the new
service account not being authorized.  Rather than spend the energy to
fix the service account (and move to an internal repo) I'll just delete
it since it's blocked on a low priority bug with an unknown ETA.

Bug: skia:
Change-Id: I04636fda334f8a878bde2612b3edad65d81986dc
Reviewed-on: https://skia-review.googlesource.com/122943
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-04-23 12:59:48 +00:00

117 lines
3.3 KiB
Python

# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Update meta/config of the specified Skia repo."""
import argparse
import json
import os
import subprocess
import sys
import urllib2
import git_utils
SKIA_REPO_TEMPLATE = 'https://skia.googlesource.com/%s.git'
CQ_INCLUDE_CHROMIUM_TRYBOTS = [
('luci.chromium.try', [
'android_optional_gpu_tests_rel',
'linux_chromium_compile_dbg_ng',
'linux_chromium_dbg_ng',
'linux_chromium_rel_ng',
'linux_optional_gpu_tests_rel',
'mac_chromium_compile_dbg_ng',
'mac_chromium_compile_rel_ng',
'mac_chromium_dbg_ng',
'mac_chromium_rel_ng',
'mac_optional_gpu_tests_rel',
'win_chromium_compile_dbg_ng',
'win_chromium_dbg_ng',
'win_optional_gpu_tests_rel',
]),
('master.tryserver.blink', [
'linux_trusty_blink_dbg',
'linux_trusty_blink_rel',
'mac10.10_blink_rel',
'mac10.11_blink_rel',
'mac10.11_retina_blink_rel',
'mac10.12_blink_rel',
'win10_blink_rel',
'win7_blink_rel',
]),
('master.tryserver.chromium.linux', [
'linux_chromium_compile_rel_ng',
]),
('master.tryserver.chromium.win', [
'win_chromium_compile_rel_ng',
'win7_chromium_rel_ng',
'win10_chromium_x64_rel_ng',
]),
('master.tryserver.chromium.android', [
'android_blink_rel',
'android_compile_dbg',
'android_compile_rel',
'android_n5x_swarming_dbg',
'android_n5x_swarming_rel',
])
]
def addChromiumTrybots(f):
for master, bots in CQ_INCLUDE_CHROMIUM_TRYBOTS:
f.write('[bucket "%s"]\n' % master)
for bot in bots:
f.write('\tbuilder = %s\n' % bot)
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--repo_name")
parser.add_argument("--tasks_json")
args = parser.parse_args()
skia_repo = SKIA_REPO_TEMPLATE % args.repo_name
with git_utils.NewGitCheckout(repository=skia_repo):
# Fetch and checkout the meta/config branch.
subprocess.check_call(['git', 'fetch', skia_repo, 'refs/meta/config:cfg'])
subprocess.check_call(['git', 'checkout', 'cfg'])
# Create list of tryjobs from tasks_json.
tryjobs = []
with open(args.tasks_json) as tasks_json:
data = json.load(tasks_json)
for job in data['jobs'].keys():
if not job.startswith('Upload-'):
tryjobs.append(job)
tryjobs.sort()
# Write to buildbucket.config.
buildbucket_config = os.path.join(os.getcwd(), 'buildbucket.config')
with open(buildbucket_config, 'w') as f:
if args.repo_name == 'skia':
addChromiumTrybots(f)
# Adding all Skia jobs.
f.write('[bucket "skia.primary"]\n')
for job in tryjobs:
f.write('\tbuilder = ' + job + '\n')
subprocess.check_call(['git', 'add', 'buildbucket.config'])
try:
subprocess.check_call(
['git', 'commit', '-m', 'Update builders in buildbucket.config'])
except subprocess.CalledProcessError:
print 'No changes to buildbucket.config'
return
subprocess.check_call(['git', 'push', skia_repo, 'cfg:refs/meta/config'])
if '__main__' == __name__:
main()