Home | History | Annotate | Download | only in bin
      1 #!/usr/bin/python
      2 # Copyright 2015 The Chromium Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 import argparse
      7 import os
      8 import subprocess
      9 import sys
     10 
     11 
     12 def _AddToPathIfNeeded(path):
     13   if path not in sys.path:
     14     sys.path.insert(0, path)
     15 
     16 
     17 def Main():
     18   catapult_path = os.path.abspath(os.path.join(
     19       os.path.dirname(__file__), os.path.pardir, os.path.pardir))
     20   parser = argparse.ArgumentParser()
     21   parser.add_argument('--appid', default='performance-insights')
     22   parser.add_argument('--version', default='pi-test')
     23   args = parser.parse_args()
     24 
     25   _AddToPathIfNeeded(
     26       os.path.join(catapult_path, 'perf_insights'))
     27   from perf_insights.endpoints import cloud_mapper
     28   paths = cloud_mapper.PathsForDeployment()
     29 
     30   _AddToPathIfNeeded(catapult_path)
     31   from catapult_build import temp_deployment_dir
     32 
     33   file_sets = [
     34       ['app.yaml', 'cron.yaml', 'dispatch.yaml', 'queue.yaml', 'index.yaml',
     35       'remote_worker.yaml']
     36   ]
     37   for cur_set in file_sets:
     38     with temp_deployment_dir.TempDeploymentDir(
     39         paths, use_symlinks=False) as temp_dir:
     40       cmd = ['gcloud', 'preview', 'app', 'deploy']
     41       cmd += cur_set
     42       cmd += [
     43           '--project=%s' % args.appid,
     44           '--version=%s' % args.version,
     45           '--force', '--quiet', '--no-promote', '--docker-build', 'local']
     46       subprocess.call(cmd, cwd=temp_dir)
     47 
     48 if __name__ == '__main__':
     49   Main()
     50 
     51