blob: e8447f51b9f9cb9bd423bd1f545a2f9f0c337fa4 [file] [log] [blame]
asharif6ba78c42013-02-15 04:50:40 +00001import sys
2from utils import utils
3import xmlrpclib
4from automation.common import job
asharif5a9bb462013-02-15 04:50:57 +00005from automation.common import job_group
asharif6ba78c42013-02-15 04:50:40 +00006from automation.common import jobs_helper
7import optparse
asharif5a9bb462013-02-15 04:50:57 +00008import os
asharif6ba78c42013-02-15 04:50:40 +00009
10
11def Main(argv):
12 """The main function."""
13 parser = optparse.OptionParser()
asharif1755b432013-02-15 04:55:29 +000014 parser.add_option("-c",
15 "--chromeos-versions",
16 dest="chromeos_versions",
17 default="latest",
18 help=("Use these chromeos versions." +
19 "Example: -c latest,weekly,quarterly")
asharif6ba78c42013-02-15 04:50:40 +000020 )
21 parser.add_option("-t",
22 "--toolchain",
23 dest="toolchain",
24 default="trunk",
asharifea33a562013-02-15 04:56:09 +000025 help="Toolchain to use {trunk|branch}"
26 )
27 parser.add_option("-b",
28 "--board",
29 dest="board",
30 default="x86-generic",
31 help="Toolchain to use {trunk|branch}"
asharif6ba78c42013-02-15 04:50:40 +000032 )
asharif967d7002013-02-15 04:51:00 +000033 parser.add_option("-p",
34 "--p4-snapshot",
asharifea33a562013-02-15 04:56:09 +000035 dest="p4_snapshot",
asharif967d7002013-02-15 04:51:00 +000036 default="",
37 help="An existing perforce checkout for debugging."
38 )
asharif6ba78c42013-02-15 04:50:40 +000039 options = parser.parse_args(argv)[0]
40
41 server = xmlrpclib.Server("http://localhost:8000")
42
43 all_jobs = []
asharifea33a562013-02-15 04:56:09 +000044 tc_job = jobs_helper.CreateBuildTCJob(p4_snapshot=options.p4_snapshot,
45 toolchain=options.toolchain)
asharif6ba78c42013-02-15 04:50:40 +000046 all_jobs.append(tc_job)
47
asharif1755b432013-02-15 04:55:29 +000048 versions = options.chromeos_versions
49 versions = versions.strip()
50
51 for version in versions.split(","):
52 build_chromeos_job = (
53 jobs_helper.CreateBuildAndTestChromeOSJob(
54 tc_job,
55 version,
56 p4_snapshot=options.p4_snapshot))
57 all_jobs.append(build_chromeos_job)
asharif6ba78c42013-02-15 04:50:40 +000058
asharif5a9bb462013-02-15 04:50:57 +000059 group = job_group.JobGroup(os.uname()[1], "/tmp/", all_jobs, False, False)
60 server.ExecuteJobGroup(utils.Serialize(group))
asharif6ba78c42013-02-15 04:50:40 +000061
62if __name__ == "__main__":
63 Main(sys.argv)