diff --git a/.travis.yml b/.travis.yml index 528576fbe..e4020d81d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,38 +15,37 @@ env: # Configurations matrix: ############################################################################### -# Ubuntu 18.04 LTS +# Ubuntu 20.04 LTS ############################################################################### # Note the unit tests for the debug builds are compiled but **not** # executed. This is because the debug build of unit tests takes a large # amount of time to execute compared to the optimized builds. # clang - #too slow; times out: - LINUX_BASE=ubuntu_18.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug UBSAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN - - LINUX_BASE=ubuntu_18.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug ASAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0 - - LINUX_BASE=ubuntu_18.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release UBSAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN - - LINUX_BASE=ubuntu_18.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=RelWithDebInfo ASAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN UBSAN_BUILD=1 RUN_API_EXAMPLES=0 RUN_SYSTEM_TESTS=0 DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0 + - LINUX_BASE=ubuntu_20.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug ASAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0 + - LINUX_BASE=ubuntu_20.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release UBSAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN + - LINUX_BASE=ubuntu_20.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=RelWithDebInfo ASAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN UBSAN_BUILD=1 RUN_API_EXAMPLES=0 RUN_SYSTEM_TESTS=0 DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0 # gcc # ubsan/msan builds too slow - - LINUX_BASE=ubuntu_18.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release RUN_UNIT_TESTS=BUILD_AND_RUN - - LINUX_BASE=ubuntu_18.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug RUN_UNIT_TESTS=BUILD_AND_RUN + - LINUX_BASE=ubuntu_20.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release UBSAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN + - LINUX_BASE=ubuntu_20.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug RUN_UNIT_TESTS=BUILD_AND_RUN # GMP library - - LINUX_BASE=ubuntu_18.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release USE_LIBGMP=1 RUN_UNIT_TESTS=BUILD_AND_RUN - - LINUX_BASE=ubuntu_18.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug USE_LIBGMP=1 RUN_UNIT_TESTS=BUILD_AND_RUN + - LINUX_BASE=ubuntu_20.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release USE_LIBGMP=1 RUN_UNIT_TESTS=BUILD_AND_RUN + - LINUX_BASE=ubuntu_20.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug USE_LIBGMP=1 RUN_UNIT_TESTS=BUILD_AND_RUN # Test with Python 3 and API docs - - LINUX_BASE=ubuntu_18.04 BUILD_DOCS=1 + - LINUX_BASE=ubuntu_20.04 BUILD_DOCS=1 # Unix Makefile generator build - - LINUX_BASE=ubuntu_18.04 TARGET_ARCH=x86_64 Z3_CMAKE_GENERATOR="Unix Makefiles" + - LINUX_BASE=ubuntu_20.04 TARGET_ARCH=x86_64 Z3_CMAKE_GENERATOR="Unix Makefiles" # LTO build - - LINUX_BASE=ubuntu_18.04 TARGET_ARCH=x86_64 USE_LTO=1 + - LINUX_BASE=ubuntu_20.04 TARGET_ARCH=x86_64 USE_LTO=1 # Static build. Note we have disable building the bindings because they won't work with a static libz3 - - LINUX_BASE=ubuntu_18.04 TARGET_ARCH=x86_64 Z3_STATIC_BUILD=1 DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0 + - LINUX_BASE=ubuntu_20.04 TARGET_ARCH=x86_64 Z3_STATIC_BUILD=1 DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0 script: diff --git a/contrib/ci/Dockerfiles/z3_base_ubuntu_18.04.Dockerfile b/contrib/ci/Dockerfiles/z3_base_ubuntu_20.04.Dockerfile similarity index 80% rename from contrib/ci/Dockerfiles/z3_base_ubuntu_18.04.Dockerfile rename to contrib/ci/Dockerfiles/z3_base_ubuntu_20.04.Dockerfile index 8ea613e4d..5e0bcbbad 100644 --- a/contrib/ci/Dockerfiles/z3_base_ubuntu_18.04.Dockerfile +++ b/contrib/ci/Dockerfiles/z3_base_ubuntu_20.04.Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:18.04 +FROM ubuntu:20.04 RUN apt-get update && \ apt-get -y --no-install-recommends install \ @@ -14,11 +14,9 @@ RUN apt-get update && \ graphviz \ python3 \ python3-setuptools \ - python2.7 \ - python-setuptools \ sudo -RUN curl -SL https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb --output packages-microsoft-prod.deb && \ +RUN curl -SL https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb --output packages-microsoft-prod.deb && \ dpkg -i packages-microsoft-prod.deb && \ apt-get update && \ apt-get -y --no-install-recommends install dotnet-sdk-2.1 @@ -31,4 +29,4 @@ RUN useradd -m user && \ echo 'user ALL=(root) NOPASSWD: ALL' >> /etc/sudoers USER user WORKDIR /home/user -ENV ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-7/bin/llvm-symbolizer +#ENV ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-7/bin/llvm-symbolizer diff --git a/contrib/ci/scripts/travis_ci_linux_entry_point.sh b/contrib/ci/scripts/travis_ci_linux_entry_point.sh index 32892b881..930fd9d20 100755 --- a/contrib/ci/scripts/travis_ci_linux_entry_point.sh +++ b/contrib/ci/scripts/travis_ci_linux_entry_point.sh @@ -141,9 +141,9 @@ if [ -n "${Z3_WARNINGS_AS_ERRORS}" ]; then fi case ${LINUX_BASE} in - ubuntu_18.04) - BASE_DOCKER_FILE="${DOCKER_FILE_DIR}/z3_base_ubuntu_18.04.Dockerfile" - BASE_DOCKER_IMAGE_NAME="z3_base_ubuntu:18.04" + ubuntu_20.04) + BASE_DOCKER_FILE="${DOCKER_FILE_DIR}/z3_base_ubuntu_20.04.Dockerfile" + BASE_DOCKER_IMAGE_NAME="z3_base_ubuntu:20.04" ;; *) echo "Unknown Linux base ${LINUX_BASE}"