diff options
Diffstat (limited to 'tcwg-base')
-rw-r--r-- | tcwg-base/Dockerfile.in | 36 | ||||
-rw-r--r-- | tcwg-base/home-data/diana.picus/.ssh/authorized_keys | 1 | ||||
-rw-r--r-- | tcwg-base/home-data/group | 4 | ||||
-rw-r--r-- | tcwg-base/home-data/kugan.vivekanandarajah/.ssh/authorized_keys | 2 | ||||
-rw-r--r-- | tcwg-base/home-data/passwd | 4 | ||||
-rw-r--r-- | tcwg-base/home-data/tcwg-buildslave/.ssh/config | 24 | ||||
-rw-r--r-- | tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts | 1 | ||||
-rw-r--r-- | tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys | 1 | ||||
-rw-r--r-- | tcwg-base/home-data/yvan.roux/.ssh/authorized_keys | 1 | ||||
-rw-r--r-- | tcwg-base/home-data/yvan.roux/.tmux.conf | 10 | ||||
-rw-r--r-- | tcwg-base/tcwg-build/Dockerfile.in | 8 | ||||
-rw-r--r-- | tcwg-base/tcwg-dev/Dockerfile.in | 14 | ||||
-rwxr-xr-x | tcwg-base/tcwg-dev/start.sh | 4 | ||||
-rw-r--r-- | tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in | 11 | ||||
-rwxr-xr-x | tcwg-base/tcwg-host/start.sh | 3 | ||||
-rw-r--r-- | tcwg-base/tcwg-llvmbot/Dockerfile.in | 12 | ||||
-rwxr-xr-x | tcwg-base/tcwg-llvmbot/run.sh | 70 | ||||
-rwxr-xr-x | tcwg-base/tcwg-llvmbot/start.sh | 46 |
18 files changed, 163 insertions, 89 deletions
diff --git a/tcwg-base/Dockerfile.in b/tcwg-base/Dockerfile.in index 2ff712f8..16cedea6 100644 --- a/tcwg-base/Dockerfile.in +++ b/tcwg-base/Dockerfile.in @@ -20,10 +20,15 @@ RUN (url="http://ports.ubuntu.com/ubuntu-ports/"; \ echo; \ done) > /etc/apt/sources.list \ #else +# Unminimize Ubuntu Bionic to install contrib files of git (after package +# update, otherwise unminimize's "apt upgrade" might fail). RUN true \ #endif && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \ +#if DISTRO_bionic + && echo y | unminimize \ +#endif #if ARCH_i386 && dpkg-divert --local --rename --add /sbin/initctl \ && ln -s /bin/true /sbin/initctl \ @@ -68,14 +73,23 @@ RUN true \ #if ARCH_amd64 || ARCH_i386 libglib2.0-dev \ #endif + libgmp-dev \ liblzma-dev \ + libmpc-dev \ + libmpfr-dev \ libncurses5-dev \ +#if ARCH_amd64 || ARCH_i386 + libpixman-1-dev \ +#endif libpython2.7-dev \ libreadline-dev \ libssl-dev \ libtcnative-1 \ libtool \ linux-tools-generic \ +#if DISTRO_bionic + linux-tools-4.18.0-13-generic \ +#endif lzop \ make \ #if ARCH_amd64 || ARCH_i386 @@ -113,6 +127,7 @@ RUN true \ texlive-fonts-recommended \ texlive-latex-recommended \ time \ + unifdef \ valgrind \ vim \ #if !DISTRO_trusty @@ -130,12 +145,7 @@ RUN true \ /tmp/* \ /var/tmp/* -#if !DISTRO_bionic RUN install -D -p -m0755 /usr/share/doc/git/contrib/workdir/git-new-workdir /usr/local/bin/git-new-workdir \ -#else -# Ubuntu Bionic has a quirk in installing contrib files of git; skip for now. -RUN true \ -#endif && sed -i -e 's:^session *required *pam_loginuid.so:# session required pam_loginuid.so:' /etc/pam.d/sshd \ && mkdir -p /var/run/sshd \ && sed -i \ @@ -150,11 +160,20 @@ COPY postfix-sasl_password.in /etc/postfix/sasl_password RUN chown root:root /etc/postfix/sasl_password \ && chmod 600 /etc/postfix/sasl_password -#if !DISTRO_bionic +# Add ninja with support for memory-threshold job limitation. +# It's installed with ".bin" extension and containers then +# make wrappers around it in /usr/local/bin/ninja as needed. +RUN 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 \ + && cd .. \ + && rm -rf ninja + #if ARCH_amd64 || ARCH_i386 RUN mkdir /tmp/docker-install-qemu.$$ \ && cd /tmp/docker-install-qemu.$$ \ - && qemu_ver=2.8.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ + && qemu_ver=3.1.0 && wget --progress=dot:giga http://download.qemu-project.org/qemu-${qemu_ver}.tar.xz \ && tar xf qemu-${qemu_ver}.tar.xz \ && mkdir build && cd build \ && ../qemu-${qemu_ver}/configure --prefix=/usr/local --target-list=armeb-linux-user \ @@ -162,10 +181,7 @@ RUN mkdir /tmp/docker-install-qemu.$$ \ && cd && rm -rf /tmp/docker-install-qemu.$$ #endif -#else -# QEMU 2.8 doesn't build cleanly with Ubuntu Bionic's gcc. -#endif COPY home-data/ /home-data/ COPY new-user.sh /usr/local/bin/ diff --git a/tcwg-base/home-data/diana.picus/.ssh/authorized_keys b/tcwg-base/home-data/diana.picus/.ssh/authorized_keys new file mode 100644 index 00000000..dcec2466 --- /dev/null +++ b/tcwg-base/home-data/diana.picus/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUPyyKwGTn6TwizPOErps0mgMNwLNDbYyEr8m2KwvkGQfLwesaTuOwHtFg3zr4u2Nqk8zmUn2/jZekru+gVXGKEQQDzSJKK7llNQCKkBJUPO8wTkkGoIzT3Bt1ftKC/OUUDVVckdQ0LCNctsLcFa9D11fk2hCUkg2V06QJu87e8T5xyhyA6H0WKyfA2JkRwgnmZyM/uJo5ga/XUSTvA49k+Keu0GLCrODtUXA/jqw6niLrG+lH/ce49B+MxUu6pF4vUu6lba/jh35bSvDKMZj6vT3IUxQ7rdWO687yNrkRw6osmJhv0PRruqxeP+IYcHHqRTog0Hv2Y9C780TW9ect diana@Gjallarhorn diff --git a/tcwg-base/home-data/group b/tcwg-base/home-data/group index a0dbbf79..29de913d 100644 --- a/tcwg-base/home-data/group +++ b/tcwg-base/home-data/group @@ -1,3 +1,3 @@ tcwg-infra:x:9000:tcwg-buildslave,tcwg-benchmark -tcwg-users:x:10000:maxim.kuvyrkov,alex.bennee,christophe.lyon,peter.smith,thomas.preudhomme,richard.henderson,prathamesh.kulkarni,omair.javaid -tcwg-llvm:x:9001:maxim.kuvyrkov,peter.smith,thomas.preudhomme,omair.javaid +tcwg-users:x:10000:maxim.kuvyrkov,alex.bennee,christophe.lyon,peter.smith,richard.henderson,prathamesh.kulkarni,omair.javaid,kugan.vivekanandarajah,diana.picus,yvan.roux +tcwg-llvm:x:9001:maxim.kuvyrkov,peter.smith,omair.javaid,diana.picus,yvan.roux,prathamesh.kulkarni diff --git a/tcwg-base/home-data/kugan.vivekanandarajah/.ssh/authorized_keys b/tcwg-base/home-data/kugan.vivekanandarajah/.ssh/authorized_keys new file mode 100644 index 00000000..40ffb8c8 --- /dev/null +++ b/tcwg-base/home-data/kugan.vivekanandarajah/.ssh/authorized_keys @@ -0,0 +1,2 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDOYEfDePDvheSVenZ3ulL2ZlxRdCat0Yr38dHXrcEMkvLVbHabDJoI1hQ9bG93ycmKVvSvRylx1Wb5WIXyV4BR1rp4JZwwVMEE/R+N9rNEkAB2nZ+0bbEO07vP29036XvXOnQETz6g2K+DHjWhrUzS67s354EOqW9K4y8ADi0grCkt7BzHiO77naL4k82UZnfvVn05/sAtSmd2c90D3K0HG24hcNvtkYkFlfF1f7Nc0mYPuoiDZl5qPlBcV+q0uvGCRM7ep/6U1ed7+4cpzNxgU/mrILNtLhgFH9YgeboVhgOfw4otLMFw8DHpH7O8dwVuMZAxoZKvFsIXypx482H kugan@kugan-Satellite-L850 +ssh-dss AAAAB3NzaC1kc3MAAACBAI9K4Pb/JiWcbe3Mj5YAzcGtGV8hDaXXzi7348aqqHsbVH3vuub8QvPBEQ5/Z/ZoHoaBLqKqYDzkj5OZbaJwYqmvbYzcnz5REzmwu9LuwR7SK9MWFBIP9vCmpPRat45H/71Nl4xty4rkngzzYqesQMHR3eVtI+J26KbpOVCx3B7DAAAAFQDgWEoC2laItuCf6cF2TqLlFRgTyQAAAIAY+jUXsbIgg2gW6WtCSyLu82EZbMdaj9dSib6iOPLwJSrSFRny91+BiW4FOlFsQzsuESQhylIbphOE+QtWOsd5aWBpw+dvq6TC1hchmnQTQi6K/j+LecIY+Gcm0UnqB9BSaiviHLLgCILXPKjoIJGWqFPHXTHZ/LE5cXubKdGt9AAAAIEAhhPkBB+KWrsESq1zfhZOJDke/NdtQLOWAK8CUnx9zjxUyqtMstBP8brdS+nc/jin+OjkKytWZLVrWT7xXT0cdFUbHA1a5YWXCEET3NmH07pusEtAacFIXJgGC+ADyv4wmtuvDWQJdMXq/pPva2Yu+qA6b/qyRriu9/phpuXCChw= kugan@kugan-T430u diff --git a/tcwg-base/home-data/passwd b/tcwg-base/home-data/passwd index f9a98f65..f596805f 100644 --- a/tcwg-base/home-data/passwd +++ b/tcwg-base/home-data/passwd @@ -4,7 +4,9 @@ alex.bennee:x:10583:10000:Alex Bennée::/bin/bash christophe.lyon:x:10033:10000:Christophe Lyon::/bin/bash maxim.kuvyrkov:x:10967:10000:Maxim Kuvyrkov::/bin/bash peter.smith:x:12314:10000:Peter Smith::/bin/bash -thomas.preudhomme:x:13851:10000:Thomas Preud'homme::/bin/bash richard.henderson:x:13410:10000:Richard Henderson::/bin/bash prathamesh.kulkarni:x:11537:10000:Prathamesh Kulkarni::/bin/bash omair.javaid:x:10174:10000:Omair Javaid::/bin/bash +kugan.vivekanandarajah:x:10179:10000:Kugan Vivekanandarajah::/bin/bash +diana.picus:x:12361:10000:Diana Picus::/bin/bash +yvan.roux:x:10168:10000:Yvan Roux::/bin/bash diff --git a/tcwg-base/home-data/tcwg-buildslave/.ssh/config b/tcwg-base/home-data/tcwg-buildslave/.ssh/config index ba32e1ef..b5086896 100644 --- a/tcwg-base/home-data/tcwg-buildslave/.ssh/config +++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/config @@ -6,7 +6,7 @@ # !!! IMPORTANT NOTE. AS PENANCE, YOU WILL READ THIS NOTE OUT LOUD. !!! # -Host *.tcwglab *.aus-colo people.linaro.org aus-colo.linaro.org lab.validation.linaro.org +Host *.tcwglab people.linaro.org lab.validation.linaro.org #User @LDAP_USER@ #IdentityFile ~/.ssh/id_rsa @@ -20,15 +20,11 @@ Host *proxy.* Host *.tcwglab ProxyCommand ~/.ssh/ssh-tcwglab-nc.sh -q0 %h %p -# Access to Austin Colo. E.g., "ssh r1-a7.aus-colo" -Host *.aus-colo - ProxyCommand ssh aus-colo.linaro.org nc -q0 %h %p - # Access to LAVA Lab. E.g., "ssh root@10.7.0.18.lab" Host *.lab ProxyCommand ssh lab.validation.linaro.org nc -q0 $(basename %h .lab) %p -Host *.tcwglab *.aus-colo *.lab tcwg-d05-01 libgomp-d05 tcwg-thx1-01 +Host *.tcwglab *.lab tcwg-d05-01 libgomp-d05 tcwg-thx1-01 # Enable automatic multiplexing. ControlMaster auto # Soften up potential problems with killing master connection by using @@ -39,13 +35,8 @@ Host *.tcwglab *.aus-colo *.lab tcwg-d05-01 libgomp-d05 tcwg-thx1-01 # Put the ssh socket on /tmp. Note that overlayfs can't host sockets, # so we always arrange /tmp to be on a ext4 or equivalent FS. ControlPath /tmp/ssh-%u-%r@%h:%p - # There is little point in forwarding X11 to machines outside of local network. - ForwardX11 no # Forward authentication agent and keep private keys in one place. ForwardAgent yes - # Ping server every 5min to avoid routers dropping connection. - # This matches -o BatchMode=yes setting used in cross-testing (see ABE) - ServerAliveInterval 300 # Disable checking of host keys for boards behind gateways. # !!! BE BECAREFUL TO ONLY DO THIS FOR MACHINES BEHIND SSH GATEWAY OR VPN !!! StrictHostKeyChecking no @@ -57,10 +48,10 @@ Host *.tcwglab *.aus-colo *.lab tcwg-d05-01 libgomp-d05 tcwg-thx1-01 Host ci.linaro.org Port 2020 -Host git.linaro.org dev-private-git.linaro.org +Host git*.linaro.org dev-private-git.linaro.org User git -Host tcwg-d05-01 libgomp-d05 tcwg-thx1-01 +Host tcwg-d05-01 libgomp-d05 tcwg-thx1-01 tcwg-sq-*.tcwglab Port 2022 Host tcwg-d05-01 libgomp-d05 @@ -71,4 +62,11 @@ Host tcwg-thx1-01 Host tcwg-ex40-01 ex40-01 Hostname ex40-01.tcwglab.linaro.org + +Host * + # There is little point in forwarding X11 to machines outside of local network. + ForwardX11 no + # Ping server every 5min to avoid routers dropping connection. + # This matches -o BatchMode=yes setting used in cross-testing (see ABE) + ServerAliveInterval 300 # === END: TCWG SSH configuration === diff --git a/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts b/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts index a1a108b4..910daa41 100644 --- a/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts +++ b/tcwg-base/home-data/tcwg-buildslave/.ssh/known_hosts @@ -3,6 +3,7 @@ aus-colo.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBALdjDe/FnDjKDz+QzKWD/J1jIVVjied+ aus-colo.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg5vMfuBLRroqEb6+CFLQikh1Wq6UD++SODY7bSdPDfN1wmurdp60AdVU+22nOXgK78mwYPJ0PEcTBMSE+OmryfZFDZm/+aPbALid/vFs8NuvFmEQ8vecEBPDGxJ3RpVxkNG5BrWMTJjWMJTCFdIh9my5vhBPEloAuDRthRNaRwvgqRw3GJAbSG2Cg4ZgOQi7Lv3ogQ/M3nXzy8KMp4KD7AtncylguPoVwDxNwjl+YoEujZDvpM4UiZDnh+Gxeru3EnEIgDvwbMizlrKL8Tm+2gA+j3cWkgIjCVJM+PW8V0aobp681ChqlbDlzK0oVmwUafdVv3dxzOSrjQH2rkaOn [ci.linaro.org]:2020 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJW1L7ZeT7dC/otESvOQl8KZ/VlV08z0rmUPwwVJvDbuAlh6Qpn5LVPRe7IFEU/qePQQEKzn1Kw7x6Ces3e5mck= [ci.linaro.org]:2020 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzIJCEw5MSW713q3I95jORM6fkdx22Z+eeanVvAy8fGssvh0QHZtG8kpesQLWmtaOxkkRwURK+ui4OnoO/FCaRGWX0SUpnHxPF23OcwejLGXX9uAhtFY8s2hyvdrWDyB4vGjNjqT8NhnciETy3WNV0D0tKCfwEy6WkjIM0B9acrDxhYYDLqSXWUBAdJ7J8Mgg/L1nAPWM8DC0H+5SmzYvfxxnzprq/EvLDL950262WN10nzx2KsFD0zCW4eggp2Qcqa5XX6Ou/gHfIW8J8gncOjfpR4c6DN9NS7rX71F7BsLhkMwu1GwKhf09qvtGT3LdR2ilNOG36Uvq7WksiBofr +[ci.linaro.org]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCAxH/zCl/clVrd2Q8Tai5wea0homs6uPPf57qemRP/MFHOz4cIYKEbEczLD87b8u2dK+qfjKsr33jSmW8NbJbvJZ6bFhVUcpXl2BxAYbFQVZJq5YDsDEmRFbvkjzEjiRGHMKCl8ouh1c5lTLkLAKZMu2cKc7X0sIMqwrwOPn/RE8cCrDYkhxTZy2IJ8O8MrJoXmwjiT5mJpe5y7kGVzzESvHBbhtknLa5HuYuyzU88Zyi8m6LjJc9OOTxPBuXiO1c7Oblq7q2Sjk7X+iDld1+m+uUkI2Bro5P2oxneapx2As6R9IUc3zd+YGWcjSiI1CnCb1EykIBzS+yKDfoPg+M7 dev-private-git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= dev-private-git.linaro.org ssh-dss AAAAB3NzaC1kc3MAAACBAK10xjDXtqiW6S02TFvIQUmjTyu+tpiT0IVTp5dlZX5rT1EDi4DtRgtoO/R4WncAs0GE8FqaI/IqljuYlJbHOrFCxU3OWKB+z2Ue3oXs3kouoFP3coF4exBZLEBX4JQ/HI5Ii88fnE/U70/+wN/mMAtcOrsgGWGXOv8yFZEQaKJJAAAAFQCfVbaD5KdaABTLwQ8CXRuZ+PAeHwAAAIBmppcf9sx9M4KAgiOQRGW+7/eImJHFRazQSe8Qbiqo0H7OQhIRcLIm6+PAtKgxxSaQErAo4z/xM7d2lhqOyydK5GDpILgV3qHUFAgQ9vajL+ga5/VeRTqg6R91kYgIKnEl3y8/iW6eRcJF/jzYfDcaFG0Z3gsOtHzjTsCuV8KMLwAAAIBupI2LDTsUYa64hSKvGhEVPMj8VKx5RX4NWQU/dlNNhlFRTzV42giujZ146vH5SGqagR3daX+o6Xm++GDJ+AedzJ8zBc9dAwU7ao4fd23bsyURvNxC7K5DKJnlCDS6xk+6wv6Hz9VdbaIEE5TPxSGqZEOK1V+pbgv+cMUGACy43Q== dev-private-git.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb diff --git a/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys b/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys deleted file mode 100644 index 68d7168d..00000000 --- a/tcwg-base/home-data/thomas.preudhomme/.ssh/authorized_keys +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFtoCUhkeZ3yC2s7oUfSrM33SVgBKLGJ/4FiEGnQRmU1g8rxuOyDOscGz6AIHDNfYcBZGgwHVu5rBd+w+GKZf89kzc6apqBCNmPXUX9vJleb8otqgDL9msifgGOjhDyWVd5pdW6MFzmWMIJyBbY+D3JguUgAMSHMiGh5Sf4+pskn6XOCqnKGbLYRMwpAD1u7ket/liAZnagFP1CuTCgNkmvnFzEw5a4bOdVYtp9x20LYq0L0OMSNhT4KajxUmxgEteLuKCXaafgPgIWq6B8skqkZzyVSU2+RR2Yd6wGQgP6fRFCh84lo59otU5C7VacYqryzCyfdiiE5FXzh94ypu0uKtnq4nSz9DUeL/TAcjr+Y+jAfgwCm087SK/WIPhF37yd6/b/AEeF/4mT8jAR+h74u8ULR9mRkWirBEldG2I80C9p916h73lrc9Vta7CA7XzseIHSKv1S1OQlkCMF8Jj4AwMTF5DOXLju9WNF17OAP44IMEJvpG2HcxTPLbrHd9GX2G4PDzJBaIuaFybJIQH28ZpbIVKpx6iVtPFQ2ehRh+STi7rApgLGPiKjwKYskLnpLcoCyhhyw8BpW7SQ4U690ZcPEboYDF5sqPwEP3EKmrXBG3siUNmlnrLY0E/INON/SKEHAgAAxKm2s4UhtnrfN3y1Wh1ILPRnJq6Fk3K3w== thopre01@e108577-lin diff --git a/tcwg-base/home-data/yvan.roux/.ssh/authorized_keys b/tcwg-base/home-data/yvan.roux/.ssh/authorized_keys new file mode 100644 index 00000000..05661935 --- /dev/null +++ b/tcwg-base/home-data/yvan.roux/.ssh/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDh/oEDJ6J0ye3Mi86OnfG/agqZbNc7qYX5CLl8QVz2YInzSfRTKhqpNSVGBV+wjzzRRJNfXo7OISkE1Rut4tD8TZoeqz/ZeDBtcgbSb84F9iMXnXBSh+75/JjlmOaxkMkwSEpbtH+9WabVW21mX5Fl4WLj8O6DKl3guF6B6nuxX793uDdSD1sRH0qrRYKOSM1AdrTJgNvG/pQCPVcTYNWq7DeeWGo+9pi2vb+jNS2OaKhl/j29Vjdj+hO29AHCQTjFsWpYY+KWvqsFYO2tB67s6kWQaJRuI/lg4OhNUFYBlReSTYYF+1Gnyx6SoM/UV1HGBIOgMRgK0PuQR2P/rZerLleTOjEtc2zf9eSD3NTyzormuSlNrtiGXk4Mum29JeudB1qEGCsYrddi3igopX+2TMHtgmMKN6RobE/tvZQtBl4jXboKkCTx/Otsc8pPIrxmyUbDLMvsS8WMXZIYP5rdL9tJRb269k3lvga0h1K6ZA89MlAphjBSYNiOL4doMQukJN44RwSwoty6vtNELzVbfZjicWzzi55xjhpqvAqEIQAKN2CsPuisULk+18iELa3RBfUgYDuwwOTqYp+VvGV3TGJpAcwiBVMUtpjMGXG6Rr41fF77dulfqrs93tubYHuc1F/xXNsUwb7uFbSI5GwO74WCN2kAPkn5XPRsm353Aw== yvan.roux@linaro.org diff --git a/tcwg-base/home-data/yvan.roux/.tmux.conf b/tcwg-base/home-data/yvan.roux/.tmux.conf new file mode 100644 index 00000000..2a041028 --- /dev/null +++ b/tcwg-base/home-data/yvan.roux/.tmux.conf @@ -0,0 +1,10 @@ +set -g default-terminal "screen-256color" +set-option -g prefix ` +bind-key ` send-prefix +set -g mouse on +set-window-option -g mode-keys vi +set -g status-bg "colour0" +set -g status-left "#[fg=colour9][#H] " +set -g status-right '#[fg=colour33,bg=default] %l:%M%p' +setw -g window-status-current-format "#[fg=colour1,bg=colour234,nobold,nounderscore,noitalics]#[fg=colour41,bg=default,bold] #I:#W #[fg=colour231,bg=default,nobold,nounderscore,noitalics]" +setw -g window-status-format "#[fg=colour31,bg=default,nobold,nounderscore,noitalics] #I:#W #[fg=colour234,bg=default,nobold,nounderscore,noitalics]" diff --git a/tcwg-base/tcwg-build/Dockerfile.in b/tcwg-base/tcwg-build/Dockerfile.in index d9a8f692..9033a56b 100644 --- a/tcwg-base/tcwg-build/Dockerfile.in +++ b/tcwg-base/tcwg-build/Dockerfile.in @@ -5,18 +5,24 @@ RUN while read line; do \ continue; \ fi; \ new-user.sh --passwd "$line"; \ + user=$(echo "$line" | cut -d: -f 1); \ + sudo -i -u $user ccache --print-config; \ done </home-data/passwd #if ARCH_amd64 || ARCH_i386 # Install wine. On amd64 arch we need to enable i386, otherwise wine # won't meet dependencies (this is the case at least for trusty and xenial). RUN \ -#if ARCH_amd64 +#if ARCH_amd64 && (DISTRO_trusty || DISTRO_xenial) dpkg --add-architecture i386 && \ #endif apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ +#if DISTRO_trusty || DISTRO_xenial wine \ +#else + wine-stable \ +#endif && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ diff --git a/tcwg-base/tcwg-dev/Dockerfile.in b/tcwg-base/tcwg-dev/Dockerfile.in index e0eda9e3..4aed65d8 100644 --- a/tcwg-base/tcwg-dev/Dockerfile.in +++ b/tcwg-base/tcwg-dev/Dockerfile.in @@ -2,15 +2,6 @@ FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO} RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - software-properties-common \ - && apt-get clean \ - && rm -rf \ - /var/lib/apt/lists/* \ - /tmp/* \ - /var/tmp/* - -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y \ apt-file \ git-gui \ git-svn \ @@ -23,14 +14,11 @@ RUN apt-get update \ #endif less \ locales \ - libgmp-dev \ - libmpc-dev \ - libmpfr-dev \ mc \ screen \ + software-properties-common \ stgit \ tmux \ - unifdef \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ diff --git a/tcwg-base/tcwg-dev/start.sh b/tcwg-base/tcwg-dev/start.sh index b281d34b..c22f008f 100755 --- a/tcwg-base/tcwg-dev/start.sh +++ b/tcwg-base/tcwg-dev/start.sh @@ -100,7 +100,9 @@ case "$home" in esac # Use at most half of all available RAM. -memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') / 2))G +memlimit=$(free -m | awk '/^Mem/ { print $2 }') +memlimit=$(($memlimit / 2))m + # IPC_LOCK is required for some implementations of ssh-agent (e.g., MATE's). # SYS_PTRACE is required for debugger work. # seccomp=unconfined to allow disabling of ASLR for sanitizer regression tests. diff --git a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in index 5191918a..35853ad5 100644 --- a/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in +++ b/tcwg-base/tcwg-dev/tcwg-x2go/Dockerfile.in @@ -11,19 +11,10 @@ RUN apt-get update \ /tmp/* \ /var/tmp/* -#if DISTRO_xenial -RUN add-apt-repository ppa:x2go/stable \ -#else -RUN true \ -#endif - && apt-get update \ +RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ duplicity \ mate-desktop-environment \ -#if DISTRO_xenial - x2godesktopsharing \ - x2gomatebindings \ -#endif x2goserver \ x2goserver-xsession \ && apt-get clean \ diff --git a/tcwg-base/tcwg-host/start.sh b/tcwg-base/tcwg-host/start.sh index a9a5519c..9a865db7 100755 --- a/tcwg-base/tcwg-host/start.sh +++ b/tcwg-base/tcwg-host/start.sh @@ -76,6 +76,7 @@ mounts="$mounts -v /var/run/docker.sock:/var/run/docker.sock" mounts="$mounts -v /usr/bin/docker:/usr/bin/docker" # Use at most half of all available RAM. -memlimit=$(($(free -g | awk '/^Mem/ { print $2 }') / 2))G +memlimit=$(free -m | awk '/^Mem/ { print $2 }') +memlimit=$(($memlimit / 2))m $DOCKER run -dt --name=$task --network host --restart=unless-stopped $mounts --memory=$memlimit --pids-limit=5000 $image "$group" "$task" diff --git a/tcwg-base/tcwg-llvmbot/Dockerfile.in b/tcwg-base/tcwg-llvmbot/Dockerfile.in index 24233ed9..5771509b 100644 --- a/tcwg-base/tcwg-llvmbot/Dockerfile.in +++ b/tcwg-base/tcwg-llvmbot/Dockerfile.in @@ -1,8 +1,12 @@ FROM linaro/ci-#{ARCH}-tcwg-base-ubuntu:#{DISTRO} RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common \ + && DEBIAN_FRONTEND=noninteractive add-apt-repository -y ppa:ubuntu-toolchain-r/test \ + && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ buildbot \ + g++-7 \ && apt-get clean \ && rm -rf \ /var/lib/apt/lists/* \ @@ -21,14 +25,6 @@ RUN cd ./llvm-config-buildslave/ \ /var/tmp/* \ && sudo -i -u buildslave mkdir /home/buildslave/buildslave -# Add ninja with support for memory-threshold job limitation. -RUN 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 \ - && cd .. \ - && rm -rf ninja - # Add current clang for libcxx bots. RUN \ #if ARCH_arm64 diff --git a/tcwg-base/tcwg-llvmbot/run.sh b/tcwg-base/tcwg-llvmbot/run.sh index aec8e31b..04bd6450 100755 --- a/tcwg-base/tcwg-llvmbot/run.sh +++ b/tcwg-base/tcwg-llvmbot/run.sh @@ -4,10 +4,10 @@ set -e bare_metal_bot_p () { - case "$1" in - "linaro-tk1-"*) return 0 ;; - *) return 1 ;; - esac + if [ -f "/.dockerenv" ]; then + return 1 + fi + return 0 } use_clang_p () @@ -31,6 +31,8 @@ use_clang_p () # Use the oldest maintained clang release (latest - 1). setup_clang_release() { + local bot_name="$1" + # There is a 6.0.1 release but there aren't any AArch64 binaries available # so we use 6.0.0 for now. local release_num=6.0.0 @@ -44,11 +46,14 @@ setup_clang_release() esac # Download and install clang+llvm into /usr/local - ( - cd /usr/local - wget -c --progress=dot:giga http://releases.llvm.org/${release_num}/$clang_ver.tar.xz - tar xf $clang_ver.tar.xz - ) + # Docker bots already have clang+llvm downloaded and installed in the image. + if bare_metal_bot_p $bot_name; then + ( + cd /usr/local + wget -c --progress=dot:giga http://releases.llvm.org/${release_num}/$clang_ver.tar.xz + tar xf $clang_ver.tar.xz + ) + fi cc=/usr/local/$clang_ver/bin/clang cxx=/usr/local/$clang_ver/bin/clang++ } @@ -65,10 +70,10 @@ if ! [ -f ~buildslave/buildslave/buildbot.tac ]; then fi if use_clang_p $2 ; then - setup_clang_release + setup_clang_release $2 else - cc=gcc - cxx=g++ + cc=gcc-7 + cxx=g++-7 fi # With default PATH /usr/local/bin/cc and /usr/local/bin/c++ are detected as @@ -122,24 +127,39 @@ Linker: $(ld --version | head -n 1) C Library: $(ldd --version | head -n 1) EOF -if bare_metal_bot_p "$2"; then - # TK1s have CPU hot-plug, so ninja might detect smaller number of cores - # available for parallelism. Explicitly set "default" parallelism. - cat > /usr/local/bin/ninja <<EOF +case "$2" in + linaro-tk1-*) + # TK1s have CPU hot-plug, so ninja might detect smaller number of cores + # available for parallelism. Explicitly set "default" parallelism. + cat > /usr/local/bin/ninja <<EOF #!/bin/sh exec /usr/bin/ninja -j$n_cores "\$@" EOF -else - # Throttle ninja on system load, system memory and container memory limit. - # When running with "-l 2*N_CORES -m 50 -M 50" ninja will not start new jobs - # if system or container memory utilization is beyond 50% or when load is - # above double the core count. Ninja will also stall up to 5 seconds (-D 5000) - # before starting a new job to avoid rapid increase of resource usage. - cat > /usr/local/bin/ninja <<EOF + ;; + *) + # Throttle ninja on system load, system memory and container memory + # limits. + case "$1" in + lab.llvm.org:9994) + # Run silent bots with single-threaded ninja when average load + # is beyond twice the number of cores. + avg_load_opt="-l $((2*$n_cores))" + ;; + *) + avg_load_opt="" + ;; + esac + # Make ninja run single-threaded if system or container memory + # utilization is beyond 50% (-m 50 -M 50). + # Make ninja stall for up to 5 seconds (-D 5000) before starting + # a new job when usage decreases under threshold (to avoid rapid + # increase of resource usage from N_CORES-1 new processes). + cat > /usr/local/bin/ninja <<EOF #!/bin/sh -exec /usr/local/bin/ninja.bin -j$n_cores -l $((2*$n_cores)) -m 50 -M 50 -D 5000 "\$@" +exec /usr/local/bin/ninja.bin -j$n_cores $avg_load_opt -m 50 -M 50 -D 5000 "\$@" EOF -fi + ;; +esac chmod +x /usr/local/bin/ninja sudo -i -u buildslave buildslave restart ~buildslave/buildslave diff --git a/tcwg-base/tcwg-llvmbot/start.sh b/tcwg-base/tcwg-llvmbot/start.sh index 38ee277b..f337f967 100755 --- a/tcwg-base/tcwg-llvmbot/start.sh +++ b/tcwg-base/tcwg-llvmbot/start.sh @@ -25,6 +25,37 @@ else DOCKER="sudo docker" fi +case "$slavename" in + linaro-armv8-01-aarch64-full) ;; + linaro-armv8-01-aarch64-global-isel) ;; + linaro-armv8-01-aarch64-libcxx) ;; + linaro-armv8-01-aarch64-libcxx-noeh) ;; + linaro-armv8-01-aarch64-lld) ;; + linaro-armv8-01-aarch64-quick) ;; + linaro-armv8-01-arm-full) ;; + linaro-armv8-01-arm-full-selfhost) ;; + linaro-armv8-01-arm-global-isel) ;; + linaro-armv8-01-arm-libcxx) ;; + linaro-armv8-01-arm-libcxx-noeh) ;; + linaro-armv8-01-arm-lld) ;; + linaro-armv8-01-arm-lnt) ;; + linaro-armv8-01-arm-quick) ;; + linaro-armv8-01-arm-selfhost-neon) ;; + linaro-tk1-*) ;; + *) + echo "WARNING: Unknown slavename $slavename" +esac + +case "$slavename:$image" in + *-aarch64-*:*-arm64-*) ;; + *-arm-*:*-armhf-*) ;; + linaro-tk1-*:*-armhf-*) ;; + *) + echo "ERROR: $slavename should not run on $image." + echo "Make sure you're running an AArch64 bot on an arm64 image or an ARM bot on an armhf image." + exit 1 +esac + case "$buildmaster" in "normal") mastername="normal" @@ -47,8 +78,17 @@ case "$mastername" in *) cpu_shares=1000 ;; esac -# Use 64G out of 128G. -memlimit="64" +memlimit=$(free -m | awk '/^Mem/ { print $2 }') +case "$slavename" in + linaro-tk1-*) + # Use at most 90% of RAM on TK1s + memlimit=$(($memlimit * 9 / 10))m + ;; + *) + # Use at most half of all available RAM. + memlimit=$(($memlimit / 2))m + ;; +esac case "$slavename" in *-lld) pids_limit="15000" ;; @@ -60,4 +100,4 @@ esac # seccomp:unconfined is required to disable ASLR for sanitizer tests. caps="--cap-add=IPC_LOCK --cap-add=SYS_PTRACE --security-opt seccomp:unconfined" -$DOCKER run --name=$mastername-$slavename --hostname=$mastername-$slavename --restart=unless-stopped -dt -p 22 --cpu-shares=$cpu_shares --memory=${memlimit}G --pids-limit=$pids_limit $caps "$image" "$masterurl" "$slavename" "$password" +$DOCKER run --name=$mastername-$slavename --hostname=$mastername-$slavename --restart=unless-stopped -dt -p 22 --cpu-shares=$cpu_shares --memory=$memlimit --pids-limit=$pids_limit $caps "$image" "$masterurl" "$slavename" "$password" |