diff --git a/buildbot/osuosl/master/config/builders.py b/buildbot/osuosl/master/config/builders.py --- a/buildbot/osuosl/master/config/builders.py +++ b/buildbot/osuosl/master/config/builders.py @@ -1479,7 +1479,8 @@ 'tags' : ["toolchain"], 'workernames' :["fuchsia-debian-64-us-central1-a-1", "fuchsia-debian-64-us-central1-b-1"], 'builddir': "fuchsia-x86_64-linux", - 'factory': FuchsiaBuilder.getFuchsiaToolchainBuildFactory()}, + # Run lld tests with only 32 jobs to prevent hitting EAGAIN. + 'factory': FuchsiaBuilder.getFuchsiaToolchainBuildFactory(check_lld_jobs=32)}, # libc Builders. diff --git a/zorg/buildbot/builders/FuchsiaBuilder.py b/zorg/buildbot/builders/FuchsiaBuilder.py --- a/zorg/buildbot/builders/FuchsiaBuilder.py +++ b/zorg/buildbot/builders/FuchsiaBuilder.py @@ -13,6 +13,7 @@ test=True, env=None, # Environmental variables for all steps. extra_configure_args=None, + check_lld_jobs=None, # None indicates to use the system default **kwargs): # Prepare environmental variables. Set here all env we want everywhere. merged_env = { @@ -132,15 +133,27 @@ workdir=obj_dir, env=merged_env)) - # Test llvm, clang and lld. + # Test llvm and clang.. f.addStep(NinjaCommand(name="check", - targets=["stage2-check-%s" % p for p in ("llvm", "clang", "lld")], + targets=["stage2-check-{}".format(p) for p in ("llvm", "clang")], haltOnFailure=True, description=["check"], workdir=obj_dir, env=merged_env, doStepIf=test)) + lld_env = {} + lld_env.update(merged_env) + if check_lld_jobs is not None: + lld_env["LIT_OPTS"] = "-j" + str(check_lld_jobs) + f.addStep(NinjaCommand(name="check", + targets=["stage2-check-lld"], + haltOnFailure=True, + description=["check"], + workdir=obj_dir, + env=lld_env, + doStepIf=test)) + # Install distribution. f.addStep(NinjaCommand(name="install", targets=["stage2-install-distribution"],