aboutsummaryrefslogtreecommitdiff
path: root/catapult/perf_insights/bin/deploy_perfinsights
blob: 0ac4b8d5d0046249e495807b4d705961a8944359 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/python
# Copyright 2015 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.

import argparse
import os
import subprocess
import sys


def _AddToPathIfNeeded(path):
  if path not in sys.path:
    sys.path.insert(0, path)


def Main():
  catapult_path = os.path.abspath(os.path.join(
      os.path.dirname(__file__), os.path.pardir, os.path.pardir))
  parser = argparse.ArgumentParser()
  parser.add_argument('--appid', default='performance-insights')
  parser.add_argument('--version', default='pi-test')
  args = parser.parse_args()

  _AddToPathIfNeeded(
      os.path.join(catapult_path, 'perf_insights'))
  from perf_insights.endpoints import cloud_mapper
  paths = cloud_mapper.PathsForDeployment()

  _AddToPathIfNeeded(catapult_path)
  from catapult_build import temp_deployment_dir

  file_sets = [
      ['app.yaml', 'cron.yaml', 'dispatch.yaml', 'queue.yaml', 'index.yaml',
      'remote_worker.yaml']
  ]
  for cur_set in file_sets:
    with temp_deployment_dir.TempDeploymentDir(
        paths, use_symlinks=False) as temp_dir:
      cmd = ['gcloud', 'preview', 'app', 'deploy']
      cmd += cur_set
      cmd += [
          '--project=%s' % args.appid,
          '--version=%s' % args.version,
          '--force', '--quiet', '--no-promote', '--docker-build', 'local']
      subprocess.call(cmd, cwd=temp_dir)

if __name__ == '__main__':
  Main()