summaryrefslogtreecommitdiffstats
path: root/testing/source/vtown/deps/cryfs/.circleci/config.yml
diff options
context:
space:
mode:
Diffstat (limited to 'testing/source/vtown/deps/cryfs/.circleci/config.yml')
-rw-r--r--testing/source/vtown/deps/cryfs/.circleci/config.yml612
1 files changed, 612 insertions, 0 deletions
diff --git a/testing/source/vtown/deps/cryfs/.circleci/config.yml b/testing/source/vtown/deps/cryfs/.circleci/config.yml
new file mode 100644
index 000000000..a06f71499
--- /dev/null
+++ b/testing/source/vtown/deps/cryfs/.circleci/config.yml
@@ -0,0 +1,612 @@
+version: 2.0
+
+references:
+ container_config: &container_config
+ machine: true
+ cache_init: &cache_init
+ run:
+ name: Initialize Cache
+ command: |
+ echo "${APT_COMPILER_PACKAGE}_${BUILD_TOOLSET}_${CXX}_${CC}_${BUILD_TYPE}_${CXXFLAGS}" > /tmp/_build_env_vars
+ 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
+ - v4_container_setup_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
+ container_setup_post: &container_setup_post
+ save_cache:
+ # Add _aptcache_contents to cache key so that it is re-uploaded each time the cache changes.
+ key: v4_container_setup_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ checksum "/tmp/_aptcache_contents" }}
+ paths:
+ - /tmp/aptcache
+ container_setup: &container_setup
+ run:
+ name: Setup Environment
+ command: |
+ 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
+
+ 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
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-6.0 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-6.0 main
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main
+ deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-8 main
+ deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-8 main
+ EOF
+ sudo chmod o-w /etc/apt/sources.list.d/clang.list
+
+ DEBIAN_FRONTEND=noninteractive sudo apt-get update -qq
+ DEBIAN_FRONTEND=noninteractive sudo apt-get install -y git ccache $APT_COMPILER_PACKAGE cmake3 make libcurl4-openssl-dev libssl-dev libfuse-dev python
+ # Use /dev/urandom when /dev/random is accessed to use less entropy
+ sudo cp -a /dev/urandom /dev/random
+
+ 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++
+ 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
+
+ # Need a c++14 compliant STL for clang
+ sudo apt-get install -y g++-5
+ sudo apt-get remove g++-4.8 gcc-4.8
+ fi
+
+ # Setup ccache
+ sudo ln -s /usr/bin/ccache /usr/local/bin/$CC
+ sudo ln -s /usr/bin/ccache /usr/local/bin/$CXX
+ sudo mkdir /ccache_data
+ sudo chown circleci:circleci /ccache_data
+ echo 'export CCACHE_COMPILERCHECK=content' >> $BASH_ENV
+ echo 'export CCACHE_COMPRESS=1' >> $BASH_ENV
+ echo 'export CCACHE_DIR=/ccache_data' >> $BASH_ENV
+ echo 'export CCACHE_SLOPPINESS=include_file_mtime' >> $BASH_ENV
+
+ sudo mkdir -p /tmp/aptcache
+ sudo cp -R /var/cache/apt/archives/* /tmp/aptcache/
+ ls /tmp/aptcache > /tmp/_aptcache_contents
+
+ echo
+ echo System Info:
+ cat /etc/issue
+ uname -a
+ cmake --version
+ /usr/local/bin/$CC --version
+ /usr/local/bin/$CXX --version
+ upgrade_boost_pre: &upgrade_boost_pre
+ restore_cache:
+ keys:
+ # Find the most recent cache from any branch
+ - v4_upgrade_boost_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
+ upgrade_boost_post: &upgrade_boost_post
+ save_cache:
+ key: v4_upgrade_boost_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
+ paths:
+ - /tmp/boost_1_65_1
+ upgrade_boost: &upgrade_boost
+ run:
+ name: Upgrade Boost
+ command: |
+ # Detect number of CPU cores
+ export NUMCORES=`nproc`
+ echo Using $NUMCORES cores
+ # Download and prepare boost (only if not already present from cache)
+ if [ ! -d "/tmp/boost_1_65_1" ]; then
+ echo "Didn't find boost in cache. Downloading and building."
+ wget -O /tmp/boost.tar.bz2 https://sourceforge.net/projects/boost/files/boost/1.65.1/boost_1_65_1.tar.bz2/download
+ if [ $(sha512sum /tmp/boost.tar.bz2 | awk '{print $1;}') == "a9e6866d3bb3e7c198f442ff09f5322f58064dca79bc420f2f0168eb63964226dfbc4f034a5a5e5958281fdf7518a1b057c894fbda0b61fced59c1661bf30f1a" ]; then
+ echo Correct sha512sum
+ else
+ echo Wrong sha512sum
+ sha512sum boost.tar.bz2
+ exit 1
+ fi
+ echo Extracting...
+ tar -xf /tmp/boost.tar.bz2 -C /tmp
+ rm -rf boost.tar.bz2
+ cd /tmp/boost_1_65_1
+ ./bootstrap.sh --with-toolset=${BUILD_TOOLSET} --with-libraries=filesystem,thread,chrono,program_options
+ cd ..
+ else
+ echo Found boost in cache. Use cache and build.
+ fi
+ # Compile and install boost (if cached, this should be fast)
+ cd /tmp/boost_1_65_1
+ sudo ./b2 toolset=${BUILD_TOOLSET} link=static cxxflags=-fPIC -d0 -j$NUMCORES install
+ 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.
+ - v3_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}_{{ .Environment.CIRCLE_PR_NUMBER }}
+ # Fallback to less specific caches if the one above wasn't found
+ - v3_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}
+ - v3_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}
+ build_post: &build_post
+ save_cache:
+ key: v3_build_cache_{{ checksum "/tmp/_build_env_vars" }}_{{ arch }}_{{ .Branch }}_{{ .Environment.CIRCLE_PR_NUMBER }}_{{ .Revision }}
+ paths:
+ - /ccache_data
+ build: &build
+ run:
+ name: Build
+ command: |
+ export NUMCORES=`nproc` && if [ ! -n "$NUMCORES" ]; then export NUMCORES=`sysctl -n hw.ncpu`; fi
+ echo Using $NUMCORES cores
+ # Use ccache
+ export CXX=/usr/local/bin/$CXX
+ export CC=/usr/local/bin/$CC
+ ccache --max-size=512M
+ ccache --show-stats
+
+ # 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
+
+ # Build
+ mkdir cmake
+ cd cmake
+ cmake .. -DBUILD_TESTING=on -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${OPENMP_PARAMS} ${CMAKE_FLAGS}
+ make -j$NUMCORES
+
+ ccache --show-stats
+ test: &test
+ run:
+ name: Test
+ no_output_timeout: 120m
+ command: |
+ if "${RUN_TESTS}"; then
+ cd cmake
+ ./test/gitversion/gitversion-test ${GTEST_ARGS}
+ ./test/cpp-utils/cpp-utils-test ${GTEST_ARGS}
+ if [ ! "$DISABLE_BROKEN_ASAN_TESTS" = true ] ; then ./test/fspp/fspp-test ${GTEST_ARGS} ; fi
+ ./test/parallelaccessstore/parallelaccessstore-test ${GTEST_ARGS}
+ ./test/blockstore/blockstore-test ${GTEST_ARGS}
+ ./test/blobstore/blobstore-test ${GTEST_ARGS}
+ ./test/cryfs/cryfs-test ${GTEST_ARGS}
+ ./test/cryfs-cli/cryfs-cli-test ${GTEST_ARGS}
+ fi
+ job_definition: &job_definition
+ <<: *container_config
+ steps:
+ - <<: *cache_init
+ - <<: *container_setup_pre
+ - <<: *container_setup
+ - <<: *container_setup_post
+ - <<: *upgrade_boost_pre
+ - <<: *upgrade_boost
+ - <<: *upgrade_boost_post
+ - checkout
+ - <<: *build_pre
+ - <<: *build
+ - <<: *build_post
+ - <<: *test
+ enable_for_tags: &enable_for_tags
+ filters:
+ tags:
+ only: /.*/
+
+jobs:
+ gcc_5_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-5
+ CXX: g++-5
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-5"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_5_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-5
+ CXX: g++-5
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-5"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_6_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-6
+ CXX: g++-6
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-6"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_6_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-6
+ CXX: g++-6
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-6"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_7_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-7
+ CXX: g++-7
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-7"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_7_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-7
+ CXX: g++-7
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-7"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_8_debug:
+ <<: *job_definition
+ environment:
+ CC: gcc-8
+ CXX: g++-8
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-8"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ gcc_8_release:
+ <<: *job_definition
+ environment:
+ CC: gcc-8
+ CXX: g++-8
+ BUILD_TOOLSET: gcc
+ APT_COMPILER_PACKAGE: "g++-8"
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ 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
+ clang_4_debug:
+ <<: *job_definition
+ environment:
+ CC: clang-4.0
+ CXX: clang++-4.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-4.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_4_release:
+ <<: *job_definition
+ environment:
+ CC: clang-4.0
+ CXX: clang++-4.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-4.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_5_debug:
+ <<: *job_definition
+ environment:
+ CC: clang-5.0
+ CXX: clang++-5.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-5.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_5_release:
+ <<: *job_definition
+ environment:
+ CC: clang-5.0
+ CXX: clang++-5.0
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-5.0
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ 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"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ 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"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_7_debug:
+ <<: *job_definition
+ environment:
+ CC: clang-7
+ CXX: clang++-7
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-7
+ CXXFLAGS: ""
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_7_release:
+ <<: *job_definition
+ environment:
+ CC: clang-7
+ CXX: clang++-7
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-7
+ CXXFLAGS: ""
+ BUILD_TYPE: "Release"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ 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
+ clang_werror:
+ <<: *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: "-DUSE_WERROR=on"
+ RUN_TESTS: false
+ gcc_werror:
+ <<: *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: "-DUSE_WERROR=on"
+ RUN_TESTS: false
+ no_compatibility:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: "-DCRYFS_NO_COMPATIBILITY"
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ address_sanitizer:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: "-O2 -fsanitize=address -fno-omit-frame-pointer -fno-common -fsanitize-address-use-after-scope"
+ BUILD_TYPE: "Debug"
+ ASAN_OPTIONS: "detect_leaks=1 check_initialization_order=1 detect_stack_use_after_return=1 detect_invalid_pointer_pairs=1 atexit=1"
+ DISABLE_BROKEN_ASAN_TESTS: true
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ ub_sanitizer:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ CXXFLAGS: "-O2 -fno-sanitize-recover=undefined,nullability,implicit-conversion,unsigned-integer-overflow -fno-omit-frame-pointer -fno-common"
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: ""
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ thread_sanitizer:
+ <<: *job_definition
+ environment:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: clang-8
+ OMP_NUM_THREADS: "1"
+ CXXFLAGS: "-O2 -fsanitize=thread -fno-omit-frame-pointer"
+ BUILD_TYPE: "Debug"
+ GTEST_ARGS: "--gtest_filter=-LoggingTest.LoggingAlsoWorksAfterFork:AssertTest_*:BacktraceTest.*:SignalCatcherTest.*_thenDies:SignalHandlerTest.*_thenDies:SignalHandlerTest.givenMultipleSigIntHandlers_whenRaising_thenCatchesCorrectSignal:CliTest_Setup.*:CliTest_IntegrityCheck.*:*/CliTest_WrongEnvironment.*:CliTest_Unmount.*"
+ CMAKE_FLAGS: ""
+ RUN_TESTS: true
+ clang_tidy:
+ <<: *container_config
+ steps:
+ - <<: *cache_init
+ - <<: *container_setup_pre
+ - <<: *container_setup
+ - <<: *container_setup_post
+ - <<: *upgrade_boost_pre
+ - <<: *upgrade_boost
+ - <<: *upgrade_boost_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:
+ CC: clang-8
+ CXX: clang++-8
+ BUILD_TOOLSET: clang
+ APT_COMPILER_PACKAGE: "clang-8 clang-tidy-8"
+
+workflows:
+ version: 2
+
+ build_and_test:
+ jobs:
+ - gcc_5_debug:
+ <<: *enable_for_tags
+ - gcc_5_release:
+ <<: *enable_for_tags
+ - gcc_6_debug:
+ <<: *enable_for_tags
+ - gcc_6_release:
+ <<: *enable_for_tags
+ - gcc_7_debug:
+ <<: *enable_for_tags
+ - gcc_7_release:
+ <<: *enable_for_tags
+ - gcc_8_debug:
+ <<: *enable_for_tags
+ - gcc_8_release:
+ <<: *enable_for_tags
+ - gcc_9_debug:
+ <<: *enable_for_tags
+ - gcc_9_release:
+ <<: *enable_for_tags
+ - 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:
+ <<: *enable_for_tags
+ - clang_6_release:
+ <<: *enable_for_tags
+ - clang_7_debug:
+ <<: *enable_for_tags
+ - clang_7_release:
+ <<: *enable_for_tags
+ - clang_8_debug:
+ <<: *enable_for_tags
+ - clang_8_release:
+ <<: *enable_for_tags
+ - clang_werror:
+ <<: *enable_for_tags
+ - gcc_werror:
+ <<: *enable_for_tags
+ - no_compatibility:
+ <<: *enable_for_tags
+ - address_sanitizer:
+ <<: *enable_for_tags
+ - ub_sanitizer:
+ <<: *enable_for_tags
+ - thread_sanitizer:
+ <<: *enable_for_tags
+ - clang_tidy:
+ <<: *enable_for_tags