2017-09-11 15:38:08 +02:00
|
|
|
version: 2.0
|
|
|
|
|
|
|
|
references:
|
|
|
|
container_config: &container_config
|
2019-09-30 06:12:43 +02:00
|
|
|
machine:
|
|
|
|
image: ubuntu-1604:201903-01
|
2017-09-12 22:36:18 +02:00
|
|
|
cache_init: &cache_init
|
|
|
|
run:
|
|
|
|
name: Initialize Cache
|
|
|
|
command: |
|
2017-10-01 23:14:01 +02:00
|
|
|
echo "${APT_COMPILER_PACKAGE}_${BUILD_TOOLSET}_${CXX}_${CC}_${BUILD_TYPE}_${CXXFLAGS}" > /tmp/_build_env_vars
|
2017-09-12 22:36:18 +02:00
|
|
|
echo Build env vars used for cache keys:
|
|
|
|
cat /tmp/_build_env_vars
|
|
|
|
container_setup_pre: &container_setup_pre
|
|
|
|
restore_cache:
|
|
|
|
keys:
|
|
|
|
# Find the most recent cache from any branch
|
2019-10-15 21:32:35 +02:00
|
|
|
- v6_container_setup_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
|
2017-09-12 22:36:18 +02:00
|
|
|
container_setup_post: &container_setup_post
|
|
|
|
save_cache:
|
2017-09-12 22:43:26 +02:00
|
|
|
# Add _aptcache_contents to cache key so that it is re-uploaded each time the cache changes.
|
2019-10-15 21:32:35 +02:00
|
|
|
key: v6_container_setup_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ checksum "/tmp/_aptcache_contents" }}
|
2017-09-12 22:36:18 +02:00
|
|
|
paths:
|
|
|
|
- /tmp/aptcache
|
2017-09-11 15:38:08 +02:00
|
|
|
container_setup: &container_setup
|
|
|
|
run:
|
|
|
|
name: Setup Environment
|
2019-10-04 05:42:58 +02:00
|
|
|
no_output_timeout: 30m
|
2017-09-11 15:38:08 +02:00
|
|
|
command: |
|
2017-09-12 22:36:18 +02:00
|
|
|
if [ -d "/tmp/aptcache" ]; then
|
|
|
|
echo Using packages from apt cache
|
|
|
|
sudo cp -R /tmp/aptcache/* /var/cache/apt/archives/
|
|
|
|
else
|
|
|
|
echo No apt cache found
|
|
|
|
fi
|
|
|
|
|
2017-09-11 23:40:41 +02:00
|
|
|
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
|
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
|
|
|
|
sudo touch /etc/apt/sources.list.d/clang.list
|
|
|
|
sudo chmod o+w /etc/apt/sources.list.d/clang.list
|
|
|
|
cat > /etc/apt/sources.list.d/clang.list << EOF
|
2019-09-30 06:12:43 +02:00
|
|
|
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main
|
|
|
|
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main
|
|
|
|
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main
|
|
|
|
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main
|
|
|
|
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main
|
|
|
|
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main
|
|
|
|
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main
|
|
|
|
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main
|
|
|
|
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main
|
|
|
|
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main
|
2019-09-30 06:25:17 +02:00
|
|
|
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main
|
|
|
|
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main
|
2017-09-11 23:40:41 +02:00
|
|
|
EOF
|
|
|
|
sudo chmod o-w /etc/apt/sources.list.d/clang.list
|
|
|
|
|
2017-09-11 15:38:08 +02:00
|
|
|
DEBIAN_FRONTEND=noninteractive sudo apt-get update -qq
|
2020-06-29 11:07:00 +02:00
|
|
|
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y git ccache $APT_COMPILER_PACKAGE make libcurl4-openssl-dev libssl-dev libfuse-dev
|
|
|
|
|
|
|
|
# install cmake
|
|
|
|
wget -O /tmp/cmake.sh https://github.com/Kitware/CMake/releases/download/v3.6.3/cmake-3.6.3-Linux-x86_64.sh
|
|
|
|
if [ $(sha256sum /tmp/cmake.sh | awk '{print $1;}') == "a512fc991abf51ee8d309312e106daf11d1e6c9bd7dd1c15c2bd5f9ca820fa0f" ]; then
|
|
|
|
echo Correct sha256sum
|
|
|
|
else
|
|
|
|
echo Wrong sha256sum
|
|
|
|
sha256sum /tmp/cmake.sh
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
sudo mkdir /opt/cmake
|
|
|
|
sudo sh /tmp/cmake.sh --prefix=/opt/cmake --skip-license
|
|
|
|
sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
|
|
|
|
cmake --version
|
2019-10-20 03:33:29 +02:00
|
|
|
|
|
|
|
# install conan
|
|
|
|
pyenv global 3.7.0
|
|
|
|
python3 -m pip install -U pip
|
|
|
|
python3 -m pip install conan
|
|
|
|
source ~/.profile
|
|
|
|
|
2017-09-11 16:25:56 +02:00
|
|
|
# Use /dev/urandom when /dev/random is accessed to use less entropy
|
|
|
|
sudo cp -a /dev/urandom /dev/random
|
2017-09-11 23:40:41 +02:00
|
|
|
|
|
|
|
if [ "${BUILD_TOOLSET}" = "clang" ]; then
|
|
|
|
# They aren't set automatically unfortunately
|
|
|
|
sudo ln -s /usr/bin/$CC /usr/bin/clang
|
|
|
|
sudo ln -s /usr/bin/$CXX /usr/bin/clang++
|
2019-06-08 22:06:17 +02:00
|
|
|
sudo ln -s /usr/bin/clang-tidy-8 /usr/bin/clang-tidy
|
|
|
|
sudo ln -s /usr/bin/run-clang-tidy-8.py /usr/bin/run-clang-tidy.py
|
2017-09-11 23:40:41 +02:00
|
|
|
fi
|
|
|
|
|
2019-10-20 03:33:29 +02:00
|
|
|
# Setup build cache
|
|
|
|
sudo mkdir -p /build_cache/ccache
|
|
|
|
sudo mkdir -p /build_cache/conan
|
|
|
|
sudo chown -R circleci:circleci /build_cache
|
|
|
|
|
|
|
|
# Setup conan cache
|
|
|
|
echo 'export CONAN_USER_HOME=/build_cache/conan' >> $BASH_ENV
|
|
|
|
|
2017-09-12 22:36:18 +02:00
|
|
|
# Setup ccache
|
|
|
|
sudo ln -s /usr/bin/ccache /usr/local/bin/$CC
|
|
|
|
sudo ln -s /usr/bin/ccache /usr/local/bin/$CXX
|
|
|
|
echo 'export CCACHE_COMPILERCHECK=content' >> $BASH_ENV
|
|
|
|
echo 'export CCACHE_COMPRESS=1' >> $BASH_ENV
|
2019-10-20 03:33:29 +02:00
|
|
|
echo 'export CCACHE_DIR=/build_cache/ccache' >> $BASH_ENV
|
2017-09-12 22:36:18 +02:00
|
|
|
echo 'export CCACHE_SLOPPINESS=include_file_mtime' >> $BASH_ENV
|
|
|
|
|
|
|
|
sudo mkdir -p /tmp/aptcache
|
|
|
|
sudo cp -R /var/cache/apt/archives/* /tmp/aptcache/
|
2017-09-12 22:43:26 +02:00
|
|
|
ls /tmp/aptcache > /tmp/_aptcache_contents
|
2017-09-12 22:36:18 +02:00
|
|
|
|
2017-09-11 23:40:41 +02:00
|
|
|
echo
|
|
|
|
echo System Info:
|
|
|
|
cat /etc/issue
|
|
|
|
uname -a
|
|
|
|
cmake --version
|
2017-09-12 22:36:18 +02:00
|
|
|
/usr/local/bin/$CC --version
|
|
|
|
/usr/local/bin/$CXX --version
|
|
|
|
build_pre: &build_pre
|
|
|
|
restore_cache:
|
|
|
|
keys:
|
|
|
|
# Find most recent cache from any revision on the same branch (cache keys are prefix matched)
|
|
|
|
# CIRCLE_PR_NUMBER is only set if this is a pull request.
|
2019-10-20 03:33:29 +02:00
|
|
|
- v6_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}_{{ .Environment.CIRCLE_PR_NUMBER }}
|
2017-09-12 22:36:18 +02:00
|
|
|
# Fallback to less specific caches if the one above wasn't found
|
2019-10-20 03:33:29 +02:00
|
|
|
- v6_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}
|
|
|
|
- v6_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
|
2017-09-12 22:36:18 +02:00
|
|
|
build_post: &build_post
|
|
|
|
save_cache:
|
2019-10-20 03:33:29 +02:00
|
|
|
key: v6_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}_{{ .Environment.CIRCLE_PR_NUMBER }}_{{ .Revision }}
|
2017-09-12 22:36:18 +02:00
|
|
|
paths:
|
2019-10-20 03:33:29 +02:00
|
|
|
- /build_cache
|
2017-09-11 23:40:41 +02:00
|
|
|
build: &build
|
|
|
|
run:
|
|
|
|
name: Build
|
|
|
|
command: |
|
|
|
|
export NUMCORES=`nproc` && if [ ! -n "$NUMCORES" ]; then export NUMCORES=`sysctl -n hw.ncpu`; fi
|
|
|
|
echo Using $NUMCORES cores
|
2017-09-12 22:36:18 +02:00
|
|
|
# Use ccache
|
|
|
|
export CXX=/usr/local/bin/$CXX
|
|
|
|
export CC=/usr/local/bin/$CC
|
|
|
|
ccache --max-size=512M
|
|
|
|
ccache --show-stats
|
|
|
|
|
2018-05-21 17:09:37 +02:00
|
|
|
# Disable OpenMP if it is clang, because Ubuntu 14.04 doesn't have the libomp-dev package needed to support OpenMP for clang.
|
|
|
|
if [[ ${APT_COMPILER_PACKAGE} == clang* ]]; then
|
|
|
|
OPENMP_PARAMS="-DDISABLE_OPENMP=ON"
|
|
|
|
else
|
|
|
|
OPENMP_PARAMS=""
|
|
|
|
fi
|
|
|
|
|
2017-09-12 22:36:18 +02:00
|
|
|
# Build
|
2017-09-11 23:40:41 +02:00
|
|
|
mkdir cmake
|
|
|
|
cd cmake
|
2018-09-30 05:41:46 +02:00
|
|
|
cmake .. -DBUILD_TESTING=on -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${OPENMP_PARAMS} ${CMAKE_FLAGS}
|
2017-09-11 23:40:41 +02:00
|
|
|
make -j$NUMCORES
|
2017-09-12 22:36:18 +02:00
|
|
|
|
|
|
|
ccache --show-stats
|
2017-09-11 23:40:41 +02:00
|
|
|
test: &test
|
|
|
|
run:
|
|
|
|
name: Test
|
2018-05-03 09:47:51 +02:00
|
|
|
no_output_timeout: 120m
|
2017-09-11 23:40:41 +02:00
|
|
|
command: |
|
2018-09-30 09:33:09 +02:00
|
|
|
if "${RUN_TESTS}"; then
|
|
|
|
cd cmake
|
2019-10-20 03:33:29 +02:00
|
|
|
./bin/gitversion-test ${GTEST_ARGS}
|
|
|
|
./bin/cpp-utils-test ${GTEST_ARGS}
|
|
|
|
if [ ! "$DISABLE_BROKEN_ASAN_TESTS" = true ] ; then ./bin/fspp-test ${GTEST_ARGS} ; fi
|
|
|
|
./bin/parallelaccessstore-test ${GTEST_ARGS}
|
|
|
|
./bin/blockstore-test ${GTEST_ARGS}
|
|
|
|
./bin/blobstore-test ${GTEST_ARGS}
|
|
|
|
./bin/cryfs-test ${GTEST_ARGS}
|
|
|
|
./bin/cryfs-cli-test ${GTEST_ARGS}
|
2018-09-30 09:33:09 +02:00
|
|
|
fi
|
2017-09-11 23:40:41 +02:00
|
|
|
job_definition: &job_definition
|
2017-09-11 15:38:08 +02:00
|
|
|
<<: *container_config
|
|
|
|
steps:
|
2017-09-12 22:36:18 +02:00
|
|
|
- <<: *cache_init
|
|
|
|
- <<: *container_setup_pre
|
2017-09-11 23:40:41 +02:00
|
|
|
- <<: *container_setup
|
2017-09-12 22:36:18 +02:00
|
|
|
- <<: *container_setup_post
|
2017-09-11 23:40:41 +02:00
|
|
|
- checkout
|
2017-09-12 22:36:18 +02:00
|
|
|
- <<: *build_pre
|
2017-09-11 23:40:41 +02:00
|
|
|
- <<: *build
|
2017-09-12 22:36:18 +02:00
|
|
|
- <<: *build_post
|
2017-09-11 23:40:41 +02:00
|
|
|
- <<: *test
|
|
|
|
enable_for_tags: &enable_for_tags
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
|
|
|
|
jobs:
|
2017-09-18 21:56:47 +02:00
|
|
|
gcc_6_debug:
|
2017-09-12 01:57:05 +02:00
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: gcc-6
|
|
|
|
CXX: g++-6
|
|
|
|
BUILD_TOOLSET: gcc
|
|
|
|
APT_COMPILER_PACKAGE: "g++-6"
|
2017-09-16 01:40:24 +02:00
|
|
|
CXXFLAGS: ""
|
2017-09-18 21:56:47 +02:00
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2017-09-18 21:56:47 +02:00
|
|
|
gcc_6_release:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: gcc-6
|
|
|
|
CXX: g++-6
|
|
|
|
BUILD_TOOLSET: gcc
|
|
|
|
APT_COMPILER_PACKAGE: "g++-6"
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2017-09-18 21:56:47 +02:00
|
|
|
gcc_7_debug:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: gcc-7
|
|
|
|
CXX: g++-7
|
|
|
|
BUILD_TOOLSET: gcc
|
|
|
|
APT_COMPILER_PACKAGE: "g++-7"
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2017-09-18 21:56:47 +02:00
|
|
|
gcc_7_release:
|
2017-09-12 01:57:05 +02:00
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: gcc-7
|
|
|
|
CXX: g++-7
|
|
|
|
BUILD_TOOLSET: gcc
|
|
|
|
APT_COMPILER_PACKAGE: "g++-7"
|
2017-09-16 01:40:24 +02:00
|
|
|
CXXFLAGS: ""
|
2017-09-18 21:56:47 +02:00
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
gcc_8_debug:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: gcc-8
|
|
|
|
CXX: g++-8
|
|
|
|
BUILD_TOOLSET: gcc
|
|
|
|
APT_COMPILER_PACKAGE: "g++-8"
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
gcc_8_release:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: gcc-8
|
|
|
|
CXX: g++-8
|
|
|
|
BUILD_TOOLSET: gcc
|
|
|
|
APT_COMPILER_PACKAGE: "g++-8"
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2019-06-08 22:06:17 +02:00
|
|
|
gcc_9_debug:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: gcc-9
|
|
|
|
CXX: g++-9
|
|
|
|
BUILD_TOOLSET: gcc
|
|
|
|
APT_COMPILER_PACKAGE: "g++-9"
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Debug"
|
|
|
|
GTEST_ARGS: ""
|
|
|
|
CMAKE_FLAGS: ""
|
|
|
|
RUN_TESTS: true
|
|
|
|
gcc_9_release:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: gcc-9
|
|
|
|
CXX: g++-9
|
|
|
|
BUILD_TOOLSET: gcc
|
|
|
|
APT_COMPILER_PACKAGE: "g++-9"
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
|
|
|
GTEST_ARGS: ""
|
|
|
|
CMAKE_FLAGS: ""
|
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
clang_4_debug:
|
2017-09-18 21:56:47 +02:00
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-4.0
|
|
|
|
CXX: clang++-4.0
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-4.0
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
clang_4_release:
|
2017-09-12 01:57:05 +02:00
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-4.0
|
|
|
|
CXX: clang++-4.0
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-4.0
|
2017-09-16 01:40:24 +02:00
|
|
|
CXXFLAGS: ""
|
2017-09-18 21:56:47 +02:00
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
clang_5_debug:
|
2017-09-12 01:57:05 +02:00
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-5.0
|
|
|
|
CXX: clang++-5.0
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-5.0
|
2017-09-16 01:40:24 +02:00
|
|
|
CXXFLAGS: ""
|
2017-09-18 21:56:47 +02:00
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
clang_5_release:
|
2017-09-18 21:56:47 +02:00
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-5.0
|
|
|
|
CXX: clang++-5.0
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-5.0
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
clang_6_debug:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-6.0
|
|
|
|
CXX: clang++-6.0
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-6.0
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
clang_6_release:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-6.0
|
|
|
|
CXX: clang++-6.0
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-6.0
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
clang_7_debug:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-7
|
|
|
|
CXX: clang++-7
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-7
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-28 08:28:25 +02:00
|
|
|
clang_7_release:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-7
|
|
|
|
CXX: clang++-7
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-7
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2019-06-08 22:06:17 +02:00
|
|
|
clang_8_debug:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-8
|
|
|
|
CXX: clang++-8
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-8
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Debug"
|
|
|
|
GTEST_ARGS: ""
|
|
|
|
CMAKE_FLAGS: ""
|
|
|
|
RUN_TESTS: true
|
|
|
|
clang_8_release:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-8
|
|
|
|
CXX: clang++-8
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-8
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
|
|
|
GTEST_ARGS: ""
|
|
|
|
CMAKE_FLAGS: ""
|
|
|
|
RUN_TESTS: true
|
2019-09-30 06:25:17 +02:00
|
|
|
clang_9_debug:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-9
|
|
|
|
CXX: clang++-9
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-9
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Debug"
|
|
|
|
GTEST_ARGS: ""
|
|
|
|
CMAKE_FLAGS: ""
|
|
|
|
RUN_TESTS: true
|
|
|
|
clang_9_release:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
|
|
|
CC: clang-9
|
|
|
|
CXX: clang++-9
|
|
|
|
BUILD_TOOLSET: clang
|
|
|
|
APT_COMPILER_PACKAGE: clang-9
|
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
|
|
|
GTEST_ARGS: ""
|
|
|
|
CMAKE_FLAGS: ""
|
|
|
|
RUN_TESTS: true
|
2018-10-03 05:51:33 +02:00
|
|
|
clang_werror:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
2019-09-30 06:25:17 +02:00
|
|
|
CC: clang-9
|
|
|
|
CXX: clang++-9
|
2018-10-03 05:51:33 +02:00
|
|
|
BUILD_TOOLSET: clang
|
2019-09-30 06:25:17 +02:00
|
|
|
APT_COMPILER_PACKAGE: clang-9
|
2018-10-03 05:51:33 +02:00
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-10-03 05:51:33 +02:00
|
|
|
CMAKE_FLAGS: "-DUSE_WERROR=on"
|
|
|
|
RUN_TESTS: false
|
|
|
|
gcc_werror:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
2019-06-08 22:06:17 +02:00
|
|
|
CC: gcc-9
|
|
|
|
CXX: g++-9
|
2018-10-03 05:51:33 +02:00
|
|
|
BUILD_TOOLSET: gcc
|
2019-06-08 22:06:17 +02:00
|
|
|
APT_COMPILER_PACKAGE: "g++-9"
|
2018-10-03 05:51:33 +02:00
|
|
|
CXXFLAGS: ""
|
|
|
|
BUILD_TYPE: "Release"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-10-03 05:51:33 +02:00
|
|
|
CMAKE_FLAGS: "-DUSE_WERROR=on"
|
|
|
|
RUN_TESTS: false
|
2017-09-16 01:40:24 +02:00
|
|
|
no_compatibility:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
2019-09-30 06:25:17 +02:00
|
|
|
CC: clang-9
|
|
|
|
CXX: clang++-9
|
2017-09-16 01:40:24 +02:00
|
|
|
BUILD_TOOLSET: clang
|
2019-09-30 06:25:17 +02:00
|
|
|
APT_COMPILER_PACKAGE: clang-9
|
2017-09-16 01:40:24 +02:00
|
|
|
CXXFLAGS: "-DCRYFS_NO_COMPATIBILITY"
|
2017-09-18 21:56:47 +02:00
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2017-10-02 09:02:55 +02:00
|
|
|
address_sanitizer:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
2019-09-30 06:25:17 +02:00
|
|
|
CC: clang-9
|
|
|
|
CXX: clang++-9
|
2017-10-02 09:02:55 +02:00
|
|
|
BUILD_TOOLSET: clang
|
2019-09-30 06:25:17 +02:00
|
|
|
APT_COMPILER_PACKAGE: clang-9
|
2017-10-08 08:10:13 +02:00
|
|
|
CXXFLAGS: "-O2 -fsanitize=address -fno-omit-frame-pointer -fno-common -fsanitize-address-use-after-scope"
|
2017-10-02 09:02:55 +02:00
|
|
|
BUILD_TYPE: "Debug"
|
2018-09-30 03:08:01 +02:00
|
|
|
ASAN_OPTIONS: "detect_leaks=1 check_initialization_order=1 detect_stack_use_after_return=1 detect_invalid_pointer_pairs=1 atexit=1"
|
2018-10-01 04:34:44 +02:00
|
|
|
DISABLE_BROKEN_ASAN_TESTS: true
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-09-30 05:31:39 +02:00
|
|
|
ub_sanitizer:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
2019-09-30 06:25:17 +02:00
|
|
|
CC: clang-9
|
|
|
|
CXX: clang++-9
|
2018-09-30 05:31:39 +02:00
|
|
|
BUILD_TOOLSET: clang
|
2019-09-30 06:25:17 +02:00
|
|
|
APT_COMPILER_PACKAGE: clang-9
|
2018-09-30 05:31:39 +02:00
|
|
|
CXXFLAGS: "-O2 -fno-sanitize-recover=undefined,nullability,implicit-conversion,unsigned-integer-overflow -fno-omit-frame-pointer -fno-common"
|
|
|
|
BUILD_TYPE: "Debug"
|
2018-12-31 10:35:39 +01:00
|
|
|
GTEST_ARGS: ""
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-05-03 09:47:51 +02:00
|
|
|
thread_sanitizer:
|
|
|
|
<<: *job_definition
|
|
|
|
environment:
|
2019-09-30 06:25:17 +02:00
|
|
|
CC: clang-9
|
|
|
|
CXX: clang++-9
|
2018-05-03 09:47:51 +02:00
|
|
|
BUILD_TOOLSET: clang
|
2019-09-30 06:25:17 +02:00
|
|
|
APT_COMPILER_PACKAGE: clang-9
|
2018-12-26 16:46:59 +01:00
|
|
|
OMP_NUM_THREADS: "1"
|
2018-05-03 09:47:51 +02:00
|
|
|
CXXFLAGS: "-O2 -fsanitize=thread -fno-omit-frame-pointer"
|
|
|
|
BUILD_TYPE: "Debug"
|
2020-02-24 02:42:44 +01:00
|
|
|
GTEST_ARGS: "--gtest_filter=-LoggingTest.LoggingAlsoWorksAfterFork:AssertTest_*:BacktraceTest.*:SignalCatcherTest.*_thenDies:SignalHandlerTest.*_thenDies:SignalHandlerTest.givenMultipleSigIntHandlers_whenRaising_thenCatchesCorrectSignal:CliTest_Setup.*:CliTest_IntegrityCheck.*:*/CliTest_WrongEnvironment.*:CliTest_Unmount.*:CliTest.WorksWithCommasInBasedir"
|
2018-09-30 05:41:46 +02:00
|
|
|
CMAKE_FLAGS: ""
|
2018-09-30 09:33:09 +02:00
|
|
|
RUN_TESTS: true
|
2018-10-14 22:38:05 +02:00
|
|
|
clang_tidy:
|
|
|
|
<<: *container_config
|
|
|
|
steps:
|
|
|
|
- <<: *cache_init
|
|
|
|
- <<: *container_setup_pre
|
|
|
|
- <<: *container_setup
|
|
|
|
- <<: *container_setup_post
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: clang-tidy
|
|
|
|
command: |
|
|
|
|
# realpath, jq are needed for run-clang-tidy.sh, g++ is needed for pyyaml
|
|
|
|
sudo apt-get install realpath g++ jq
|
|
|
|
pip install pyyaml
|
|
|
|
mkdir cmake
|
|
|
|
cd cmake
|
|
|
|
if ! ../run-clang-tidy.sh -fix ; then
|
|
|
|
git diff > /tmp/clang-tidy-fixes
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
- store_artifacts:
|
|
|
|
path: /tmp/clang-tidy-fixes
|
|
|
|
environment:
|
2019-06-08 22:06:17 +02:00
|
|
|
CC: clang-8
|
|
|
|
CXX: clang++-8
|
2018-10-14 22:38:05 +02:00
|
|
|
BUILD_TOOLSET: clang
|
2019-06-08 22:06:17 +02:00
|
|
|
APT_COMPILER_PACKAGE: "clang-8 clang-tidy-8"
|
2017-09-11 15:38:08 +02:00
|
|
|
|
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
|
2017-09-11 23:40:41 +02:00
|
|
|
build_and_test:
|
2017-09-11 15:38:08 +02:00
|
|
|
jobs:
|
2017-09-18 21:56:47 +02:00
|
|
|
- gcc_6_debug:
|
2017-09-12 01:57:05 +02:00
|
|
|
<<: *enable_for_tags
|
2017-09-18 21:56:47 +02:00
|
|
|
- gcc_6_release:
|
2017-09-12 01:57:05 +02:00
|
|
|
<<: *enable_for_tags
|
2017-09-18 21:56:47 +02:00
|
|
|
- gcc_7_debug:
|
2017-09-12 01:57:05 +02:00
|
|
|
<<: *enable_for_tags
|
2017-09-18 21:56:47 +02:00
|
|
|
- gcc_7_release:
|
2017-09-11 23:40:41 +02:00
|
|
|
<<: *enable_for_tags
|
2018-09-28 08:28:25 +02:00
|
|
|
- gcc_8_debug:
|
|
|
|
<<: *enable_for_tags
|
|
|
|
- gcc_8_release:
|
|
|
|
<<: *enable_for_tags
|
2019-06-08 22:06:17 +02:00
|
|
|
- gcc_9_debug:
|
|
|
|
<<: *enable_for_tags
|
|
|
|
- gcc_9_release:
|
|
|
|
<<: *enable_for_tags
|
2018-09-28 08:28:25 +02:00
|
|
|
- clang_4_debug:
|
|
|
|
<<: *enable_for_tags
|
|
|
|
- clang_4_release:
|
|
|
|
<<: *enable_for_tags
|
|
|
|
- clang_5_debug:
|
|
|
|
<<: *enable_for_tags
|
|
|
|
- clang_5_release:
|
|
|
|
<<: *enable_for_tags
|
|
|
|
- clang_6_debug:
|
2017-09-18 21:56:47 +02:00
|
|
|
<<: *enable_for_tags
|
2018-09-28 08:28:25 +02:00
|
|
|
- clang_6_release:
|
2017-09-18 21:56:47 +02:00
|
|
|
<<: *enable_for_tags
|
2018-09-28 08:28:25 +02:00
|
|
|
- clang_7_debug:
|
2017-09-18 21:56:47 +02:00
|
|
|
<<: *enable_for_tags
|
2018-09-28 08:28:25 +02:00
|
|
|
- clang_7_release:
|
2017-09-11 23:40:41 +02:00
|
|
|
<<: *enable_for_tags
|
2019-06-08 22:06:17 +02:00
|
|
|
- clang_8_debug:
|
|
|
|
<<: *enable_for_tags
|
|
|
|
- clang_8_release:
|
|
|
|
<<: *enable_for_tags
|
2019-09-30 06:25:17 +02:00
|
|
|
- clang_9_debug:
|
|
|
|
<<: *enable_for_tags
|
|
|
|
- clang_9_release:
|
|
|
|
<<: *enable_for_tags
|
2018-10-03 05:51:33 +02:00
|
|
|
- clang_werror:
|
|
|
|
<<: *enable_for_tags
|
2018-09-30 09:33:09 +02:00
|
|
|
- gcc_werror:
|
|
|
|
<<: *enable_for_tags
|
2017-09-16 01:42:03 +02:00
|
|
|
- no_compatibility:
|
|
|
|
<<: *enable_for_tags
|
2017-10-02 09:02:55 +02:00
|
|
|
- address_sanitizer:
|
|
|
|
<<: *enable_for_tags
|
2018-09-30 05:31:39 +02:00
|
|
|
- ub_sanitizer:
|
|
|
|
<<: *enable_for_tags
|
2018-05-03 09:47:51 +02:00
|
|
|
- thread_sanitizer:
|
|
|
|
<<: *enable_for_tags
|
2018-10-14 22:38:05 +02:00
|
|
|
- clang_tidy:
|
|
|
|
<<: *enable_for_tags
|