nightly.py revision c7f1593f9af3ea1b9264b37628c36f3a70e1749a
1#!/usr/bin/python
2#
3# Copyright 2010 Google Inc. All Rights Reserved.
4
5import optparse
6import pickle
7import sys
8import xmlrpclib
9
10from automation.clients.helper import chromeos
11from automation.common import job_group
12
13
14def Main(argv):
15  parser = optparse.OptionParser()
16  parser.add_option("-c",
17                    "--chromeos_version",
18                    dest="chromeos_version",
19                    default="quarterly",
20                    help="ChromeOS version to use.")
21  parser.add_option("-t",
22                    "--toolchain",
23                    dest="toolchain",
24                    default="latest-toolchain",
25                    help="Toolchain to use {latest-toolchain,gcc_46}.")
26  parser.add_option("-b",
27                    "--board",
28                    dest="board",
29                    default="x86-generic",
30                    help="Board to use for the nightly job.")
31  options = parser.parse_args(argv)[0]
32
33  toolchain = options.toolchain
34  board = options.board
35  chromeos_version = options.chromeos_version
36
37  # Build toolchain
38  jobs_factory = chromeos.JobsFactory(chromeos_version=chromeos_version,
39                                      board=board, toolchain=toolchain)
40  benchmark_job = jobs_factory.BuildAndBenchmark()
41
42  group_label = "nightly_client_%s" % board
43  group = job_group.JobGroup(group_label, [benchmark_job], True, False)
44
45  server = xmlrpclib.Server("http://localhost:8000")
46  server.ExecuteJobGroup(pickle.dumps(group))
47
48
49if __name__ == "__main__":
50  Main(sys.argv)
51