1# Copyright 2018 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5 6"""Create a CL to update the go_deps asset version.""" 7 8 9import os 10import subprocess 11import sys 12 13import git_utils 14 15 16COMMIT_MSG = '''Update go_deps asset 17 18Automatic commit by the UpdateGoDEPS bot. 19 20TBR=borenet@google.com 21''' 22SKIA_REPO = 'https://skia.googlesource.com/skia.git' 23 24 25def main(): 26 with git_utils.NewGitCheckout(repository=SKIA_REPO): 27 # First verify that there are no gen_tasks diffs. 28 gen_tasks = os.path.join(os.getcwd(), 'infra', 'bots', 'gen_tasks.go') 29 try: 30 subprocess.check_call(['go', 'run', gen_tasks, '--test']) 31 except subprocess.CalledProcessError as e: 32 print >> sys.stderr, ( 33 'gen_tasks.go failed, not updating Go DEPS:\n\n%s' % e.output) 34 sys.exit(1) 35 36 # Upload the new version, land the update CL as the update-go-deps user. 37 with git_utils.GitBranch(branch_name='update_go_deps_version', 38 commit_msg=COMMIT_MSG, 39 commit_queue=True): 40 script = os.path.join( 41 os.getcwd(), 'infra', 'bots', 'assets', 'go_deps', 42 'create_and_upload.py') 43 subprocess.check_call(['python', script]) 44 subprocess.check_call(['go', 'run', gen_tasks]) 45 subprocess.check_call([ 46 'git', 'add', os.path.join('infra', 'bots', 'tasks.json')]) 47 48 49if '__main__' == __name__: 50 main() 51