config/builders/schedulers: Split nightly into quick and full targets

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2018-11-21 23:21:10 +00:00
parent 2174bcfba5
commit b7a5d4bd7a
3 changed files with 135 additions and 121 deletions

View File

@ -188,7 +188,7 @@ def create_builder_factory():
# regular builders # regular builders
f = create_builder_factory() f = create_builder_factory()
for builder in config.triggered_builders: for builder in config.subbuilders:
workers = config.builder_to_workers.get(builder, None) workers = config.builder_to_workers.get(builder, None)
if not workers: if not workers:
workers = config.builder_to_workers['default'] workers = config.builder_to_workers['default']
@ -196,6 +196,7 @@ for builder in config.triggered_builders:
workernames=workers, workernames=workers,
factory=f, env=extra_env)) factory=f, env=extra_env))
def create_parent_builder_factory(waitname):
factory = util.BuildFactory() factory = util.BuildFactory()
# NOTE: Assumes that yocto-autobuilder repo has been cloned to home # NOTE: Assumes that yocto-autobuilder repo has been cloned to home
# directory of the user running buildbot. # directory of the user running buildbot.
@ -289,7 +290,7 @@ def get_props_set():
return set_props return set_props
factory.addStep(steps.Trigger(schedulerNames=['wait'], factory.addStep(steps.Trigger(schedulerNames=[waitname],
waitForFinish=True, waitForFinish=True,
set_properties=get_props_set())) set_properties=get_props_set()))
@ -304,7 +305,5 @@ factory.addStep(steps.ShellCommand(
], ],
name="Send QA Email")) name="Send QA Email"))
builders.append( builders.append(util.BuilderConfig(name="quick", workernames=config.workers, factory=create_parent_builder_factory("wait-quick"), env=extra_env))
util.BuilderConfig(name="nightly", builders.append(util.BuilderConfig(name="full", workernames=config.workers, factory=create_parent_builder_factory("wait-full"), env=extra_env))
workernames=config.workers,
factory=factory, env=extra_env))

View File

@ -3,7 +3,10 @@
buildertorepos = { buildertorepos = {
"eclipse-plugin-neon": ["eclipse-poky-neon"], "eclipse-plugin-neon": ["eclipse-poky-neon"],
"eclipse-plugin-oxygen": ["eclipse-poky-oxygen"], "eclipse-plugin-oxygen": ["eclipse-poky-oxygen"],
"nightly": ["poky", "meta-intel", "oecore", "bitbake", "quick": ["poky", "meta-intel", "oecore", "bitbake",
"eclipse-poky-neon", "eclipse-poky-oxygen", "meta-qt4",
"meta-qt3", "meta-mingw", "meta-gplv2"],
"full": ["poky", "meta-intel", "oecore", "bitbake",
"eclipse-poky-neon", "eclipse-poky-oxygen", "meta-qt4", "eclipse-poky-neon", "eclipse-poky-oxygen", "meta-qt4",
"meta-qt3", "meta-mingw", "meta-gplv2"], "meta-qt3", "meta-mingw", "meta-gplv2"],
"non-gpl3": ["poky", "meta-gplv2"], "non-gpl3": ["poky", "meta-gplv2"],
@ -35,16 +38,16 @@ repos = {
"meta-gplv2": ["git://git.yoctoproject.org/meta-gplv2", "master"] "meta-gplv2": ["git://git.yoctoproject.org/meta-gplv2", "master"]
} }
trigger_builders_wait = [ trigger_builders_wait_quick = [
"qemuarm", "qemuarm-lsb", "qemuarm64", "qemuarm-oecore", "qemuarm", "qemuarm-lsb", "qemuarm64", "qemuarm-oecore",
"qemumips", "qemumips-lsb", "qemumips64", "qemumips", "qemumips64",
"multilib", "multilib",
"qemuppc", "qemuppc-lsb", "qemuppc",
"qemux86", "qemux86-lsb", "qemux86", "qemux86-lsb",
"qemux86-64", "qemux86-64-lsb", "qemux86-64", "qemux86-64-lsb",
"qemux86-64-x32", "qemux86-world", "qemux86-world-lsb", "qemux86-64-x32", "qemux86-world",
"edgerouter", "edgerouter-lsb", "edgerouter",
"mpc8315e-rdb", "mpc8315e-rdb-lsb", "mpc8315e-rdb",
"genericx86", "genericx86-lsb", "genericx86", "genericx86-lsb",
"genericx86-64", "genericx86-64-lsb", "genericx86-64", "genericx86-64-lsb",
"beaglebone", "beaglebone-lsb", "beaglebone", "beaglebone-lsb",
@ -57,8 +60,12 @@ trigger_builders_wait = [
"check-layer" "check-layer"
] ]
triggered_builders = trigger_builders_wait trigger_builders_wait_full = [
builders = ["nightly"] + triggered_builders "qemumips-lsb", "edgerouter-lsb", "mpc8315e-rdb-lsb", "qemuppc-lsb", "qemux86-world-lsb"
]
subbuilders = trigger_builders_wait_quick + trigger_builders_wait_full
builders = ["quick", "full"]
# ## Cluster configuration # ## Cluster configuration
# Publishing settings # Publishing settings

View File

@ -68,7 +68,7 @@ def props_for_builder(builder):
return props return props
for builder in config.triggered_builders: for builder in config.subbuilders:
schedulers.append(sched.ForceScheduler( schedulers.append(sched.ForceScheduler(
name=builder, name=builder,
builderNames=[builder], builderNames=[builder],
@ -81,14 +81,18 @@ for builder in config.triggered_builders:
buttonName="Force Build")) buttonName="Force Build"))
# nightly builder triggers various other builders # nightly builder triggers various other builders
wait = sched.Triggerable(name="wait", wait_quick = sched.Triggerable(name="wait-quick",
builderNames=config.trigger_builders_wait) builderNames=config.trigger_builders_wait_quick)
schedulers.append(wait) schedulers.append(wait_quick)
wait_full = sched.Triggerable(name="wait-full",
builderNames=config.trigger_builders_wait_quick + config.trigger_builders_wait_full)
schedulers.append(wait_full)
schedulers.append(sched.ForceScheduler( def parent_scheduler(target):
name="nightly", return sched.ForceScheduler(
builderNames=["nightly"], name=target,
buttonName="Start Nightly Build", builderNames=[target],
buttonName="Start " + target + " Build",
codebases = [util.CodebaseParameter(codebase='', label="yocto-autobuilder-helper:", project=None)], codebases = [util.CodebaseParameter(codebase='', label="yocto-autobuilder-helper:", project=None)],
reason=util.StringParameter( reason=util.StringParameter(
name="reason", name="reason",
@ -236,4 +240,8 @@ schedulers.append(sched.ForceScheduler(
name="deploy_artefacts", name="deploy_artefacts",
label="Do we want to save build output? ", label="Do we want to save build output? ",
default=False) default=False)
]+repos_for_builder("nightly"))) ]+repos_for_builder(target))
schedulers.append(parent_scheduler("quick"))
schedulers.append(parent_scheduler("full"))