@@ -18,11 +18,13 @@ RUN echo "Set disable_coredump false" >> /etc/sudo.conf
1818WORKDIR docker
1919
2020# Install required system packages
21- RUN apt update && DEBIAN_FRONTEND=noninteractive apt -y --no-install-recommends install sudo file python3-dateutil wget fakeroot libssl-dev build-essential software-properties-common
21+ RUN apt update
22+ RUN DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends sudo file python3-dateutil wget fakeroot libssl-dev build-essential \
23+ software-properties-common
2224RUN echo "check_certificate = off" > /etc/wgetrc
2325
2426# We use C++ 17 for UnitTestBot, it is available in gcc-9; default gcc for ubuntu:18.04 is gcc-7
25- RUN add-apt-repository ppa:ubuntu-toolchain-r/test
27+ RUN if [[ "$OPERATING_SYSTEM_TAG" = "18.04" ]] ; then RUN add-apt-repository ppa:ubuntu-toolchain-r/test ; fi
2628RUN apt update && apt install -y --no-install-recommends gcc-9 g++-9 gcc-multilib g++-multilib gcc-9-multilib g++-9-multilib
2729
2830# Set gcc-9 as default gcc version
@@ -31,22 +33,15 @@ RUN sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100
3133RUN sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-9 100
3234
3335# install git
34- RUN apt install -y software-properties-common
35- RUN apt update
36- RUN add-apt-repository -y ppa:git-core/ppa
37- RUN apt update
38- RUN apt install -y git libcurl4-openssl-dev
36+ RUN apt install -y software-properties-common git libcurl4-openssl-dev
3937
4038# install others apt
41- RUN apt install -y --no-install-recommends ninja-build python3-setuptools
42- RUN apt install -y --no-install-recommends curl libcap-dev libncurses5-dev unzip libtcmalloc-minimal4 libgoogle-perftools-dev libsqlite3-dev doxygen python3-pip
43- RUN apt -y install autoconf libtool
39+ RUN apt install -y --no-install-recommends ninja-build python3-setuptools curl libcap-dev libncurses5-dev unzip \
40+ libtcmalloc-minimal4 libgoogle-perftools-dev libsqlite3-dev doxygen python3-pip autoconf libtool
4441
4542# install vscode dependencies
46- RUN apt install -y libxshmfence1 libglu1
47- RUN apt install -y libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm-dev libnss3-dev libxss-dev
48- RUN apt install -y libasound2
49- RUN apt install -y xvfb
43+ RUN apt install -y libxshmfence1 libglu1 libgconf-2-4 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 \
44+ libgbm-dev libnss3-dev libxss-dev libasound2 xvfb
5045
5146RUN mkdir $UTBOT_ALL && cd $UTBOT_ALL
5247
@@ -75,15 +70,15 @@ RUN git clone --single-branch --branch "release/${LLVM_VERSION_MAJOR}.x" --depth
7570WORKDIR $UTBOT_ALL/llvm-project
7671RUN mkdir build && cd build \
7772 && $UTBOT_CMAKE_BINARY \
78- -DCMAKE_BUILD_TYPE=Release \
73+ -DCMAKE_BUILD_TYPE=MinSizeRel \
7974 -DCMAKE_INSTALL_PREFIX=$UTBOT_INSTALL_DIR \
8075 -DLLVM_INCLUDE_TESTS=OFF \
8176 -DLLVM_BINUTILS_INCDIR=$UTBOT_ALL/llvm_gold_plugin \
8277 -DLLVM_ENABLE_RTTI=ON \
8378 -DLLVM_ENABLE_EH=ON \
8479 -DLLVM_TARGETS_TO_BUILD="host" \
8580 -DLLVM_INSTALL_UTILS=ON \
86- -DLLVM_ENABLE_PROJECTS="clang;libclc;lld;lldb;clang-tools-extra " \
81+ -DLLVM_ENABLE_PROJECTS="clang;libclc;lld" \
8782 -DLLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;libcxxabi" \
8883 -G "Ninja" ../llvm \
8984 && $UTBOT_CMAKE_BINARY --build . --target install
@@ -110,7 +105,7 @@ RUN mkdir libcxx_build && cd libcxx_build \
110105 -DLIBCXX_ENABLE_THREADS:BOOL=OFF \
111106 -DLIBCXX_ENABLE_SHARED:BOOL=ON \
112107 -DLIBCXXABI_ENABLE_THREADS:BOOL=OFF \
113- -DCMAKE_BUILD_TYPE:STRING=Release \
108+ -DCMAKE_BUILD_TYPE=MinSizeRel \
114109 -DLLVM_TARGETS_TO_BUILD=host \
115110 -DCMAKE_INSTALL_PREFIX=$UTBOT_ALL/libcxx/install \
116111 -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY:BOOL=ON ../llvm \
@@ -131,7 +126,7 @@ RUN cd $UTBOT_ALL/grpc && git submodule update --init
131126RUN cd $UTBOT_ALL/grpc \
132127 && mkdir -p cmake/build \
133128 && cd cmake/build \
134- && $UTBOT_CMAKE_BINARY -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$UTBOT_INSTALL_DIR ../.. \
129+ && $UTBOT_CMAKE_BINARY -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_INSTALL_PREFIX=$UTBOT_INSTALL_DIR ../.. \
135130 && make -j`nproc` \
136131 && make install \
137132 && cd $UTBOT_ALL \
@@ -150,7 +145,7 @@ USER utbot
150145USER root
151146RUN git clone --single-branch -b z3-4.8.17 --depth=1 https://github.com/Z3Prover/z3.git $UTBOT_ALL/z3-src
152147RUN cd $UTBOT_ALL/z3-src && mkdir build && cd build && \
153- $UTBOT_CMAKE_BINARY -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$UTBOT_INSTALL_DIR .. && \
148+ $UTBOT_CMAKE_BINARY -G "Ninja" -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_INSTALL_PREFIX=$UTBOT_INSTALL_DIR .. && \
154149 $UTBOT_CMAKE_BINARY --build . --target install && \
155150 cd $UTBOT_ALL && \
156151 rm -rf $UTBOT_ALL/z3-src
@@ -172,11 +167,9 @@ RUN if [[ "$OPERATING_SYSTEM_TAG" = "18.04" ]] ; then apt update && apt install
172167RUN apt update && apt install -y --no-install-recommends nodejs npm openssh-server net-tools gdb vim-nox rsync
173168RUN pip3 install git+https://chromium.googlesource.com/external/gyp
174169
175- # Update node and npm since defaults on ubuntu:18.04 have reached end of life
176- RUN npm config set strict-ssl false
170+ # Update node and npm
177171RUN npm cache clean -f
178172RUN sudo -E npm install -g n
179- RUN echo insecure > ~/.curlrc
180173RUN sudo -E n 16
181174RUN sudo -E apt remove -y --purge nodejs npm
182175
@@ -225,6 +218,8 @@ RUN ./configure --make-llvm-lib && make -j`nproc`
225218# Download library for access private members
226219RUN git clone https://github.com/martong/access_private.git $UTBOT_ALL/access_private
227220
221+ RUN apt autoclean
222+
228223RUN chsh -s /bin/bash utbot
229224EXPOSE 2020
230225CMD ["/usr/sbin/sshd", "-D", "-p 2020"]
0 commit comments