blob: bee91d314931b402a476e97abc8d157c4e1cd61b [file] [log] [blame]
from zorg.buildbot.commands.AnnotatedCommand import AnnotatedCommand
from zorg.buildbot.process.factory import LLVMBuildFactory
LIBC_BUILDER_DIR = "libc_builder"
LLVM_ZORG = "%s/llvm-zorg" % LIBC_BUILDER_DIR
ANNOTATED_STEP_RUNNER = (
"%s/zorg/buildbot/builders/libc/annotated_step_runner.py" % LLVM_ZORG)
def getBuildFactory(clean=False, asan=False, timeout=2400):
f = LLVMBuildFactory(clean=clean, is_legacy_mode=False,
depends_on_projects=["llvm", "libc"])
# Get llvm-zorg
f.addGetSourcecodeForProject(
name='checkout-zorg',
project='zorg',
src_dir=LIBC_BUILDER_DIR,
alwaysUseLatest=True)
additional_env = {}
if clean:
additional_env["BUILDBOT_CLOBBER"] = "1"
annotated_step_cmd = [ANNOTATED_STEP_RUNNER]
if clean:
annotated_step_cmd.append("--clean")
if asan:
annotated_step_cmd.append("--asan")
f.addStep(AnnotatedCommand(name='run_annotated_steps',
description=["Run annotated steps"],
command=annotated_step_command,
haltOnFailure=True,
timeout=timeout,
env=additional_env))
return f