| #!/usr/bin/env python |
| # |
| # Copyright 2018 Google LLC |
| # |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| |
| import os |
| import shutil |
| import subprocess |
| import sys |
| |
| |
| swarming_task_id = os.environ['SWARMING_TASK_ID'] |
| kitchen = os.path.join(os.getcwd(), 'kitchen') |
| logdog_url = 'logdog://logs.chromium.org/%s/%s/+/annotations' % ( |
| sys.argv[4], swarming_task_id) |
| temp_dir = 'tmp' |
| if os.path.isdir('/dev/shm'): |
| # Recent Linux provides /dev/shm, which is backed by a tmpfs. Since persistent |
| # disks seem to be very slow on GCE, use a subdir of /dev/shm as the temp-dir |
| # instead. |
| temp_dir = os.path.join('/dev/shm', swarming_task_id) |
| |
| cmd = [ |
| kitchen, 'cook', |
| '-checkout-dir', 'recipe_bundle', |
| '-mode', 'swarming', |
| '-luci-system-account', 'system', |
| '-cache-dir', 'cache', |
| '-temp-dir', temp_dir, |
| '-known-gerrit-host', 'android.googlesource.com', |
| '-known-gerrit-host', 'boringssl.googlesource.com', |
| '-known-gerrit-host', 'chromium.googlesource.com', |
| '-known-gerrit-host', 'dart.googlesource.com', |
| '-known-gerrit-host', 'fuchsia.googlesource.com', |
| '-known-gerrit-host', 'go.googlesource.com', |
| '-known-gerrit-host', 'llvm.googlesource.com', |
| '-known-gerrit-host', 'skia.googlesource.com', |
| '-known-gerrit-host', 'webrtc.googlesource.com', |
| '-recipe', sys.argv[2], |
| '-properties', sys.argv[3], |
| '-logdog-annotation-url', logdog_url, |
| ] |
| print 'running command: %s' % ' '.join(cmd) |
| subprocess.check_call(cmd) |
| |
| print 'cleaning up %s...' % temp_dir |
| shutil.rmtree(temp_dir, ignore_errors=True) |
| |
| print 'finished run_recipe for %s' % sys.argv[2] |