aboutsummaryrefslogtreecommitdiff
path: root/xenial-arm64-tcwg-base
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2018-01-14 17:05:09 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2018-01-14 17:05:09 +0000
commit57ecaa26c6d2d36882431d778b1184e851c05170 (patch)
tree2f3355185bfcabfbc1603b2181b932fa3cde8720 /xenial-arm64-tcwg-base
parenta39d1a5140cd2804627492ea6b2304729d2b0f8f (diff)
xenial-*-tcwg-llvmbot: Use custom ninja
... to throttle new jobs when system RAM utilization nears 50%. Also place all of /home on a scratch volume to allow fast access to developer's files for investigations. Change-Id: Ief8648a93793a2ffa99b561d983796cead3187f6
Diffstat (limited to 'xenial-arm64-tcwg-base')
-rw-r--r--xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile18
1 files changed, 16 insertions, 2 deletions
diff --git a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile
index 708e0c5b..4bd8bc59 100644
--- a/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile
+++ b/xenial-arm64-tcwg-base/xenial-arm64-tcwg-llvmbot/Dockerfile
@@ -22,11 +22,25 @@ RUN cd ./llvm-config-buildslave/ \
/var/tmp/* \
&& sudo -i -u buildslave mkdir /home/buildslave/buildslave
-VOLUME /home/buildslave/buildslave
+# Replace ninja with a one that supports memory-threshold job limitation.
+# When running with "-m 50" ninja will not start new jobs if system memory
+# utilization is beyond 50%.
+RUN apt-get remove -y ninja-build \
+ && git clone -b master https://github.com/maxim-kuvyrkov/ninja.git \
+ && cd ninja \
+ && ./configure.py --bootstrap && ./ninja all && ./ninja_test \
+ && mv ninja /usr/local/bin/ninja.bin \
+ && echo '#!/bin/sh' > /usr/local/bin/ninja \
+ && echo '/usr/local/bin/ninja.bin -m 50 -M 50 -D 5000 "$@"' >> /usr/local/bin/ninja \
+ && chmod +x /usr/local/bin/ninja \
+ && cd .. \
+ && rm -rf ninja
+
+VOLUME /home
COPY run.sh .
COPY start.sh .
ENTRYPOINT ["/run.sh"]
CMD ["start.sh"]
-# checksum: 35f5912062e53723d726e21c5fad4ba8
+# checksum: d75d1d29e3fb6928b173b440ee8d332c