From d4334849944bbace872a0b45e3733d04bbe962c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20W=C3=B6lzer?= <martin@libclapp.org> Date: Mon, 16 Sep 2024 21:09:29 +0200 Subject: [PATCH] .gitlab-ci/format.yml: introduced formatting pipelines --- .gitlab-ci.yml | 1210 +---------------------------------------- .gitlab-ci/format.yml | 35 ++ 2 files changed, 38 insertions(+), 1207 deletions(-) create mode 100644 .gitlab-ci/format.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 106ee5b2..503ce57f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,1212 +1,8 @@ stages: - - build - - test + - format variables: GIT_STRATEGY: clone - GIT_SUBMODULE_STRATEGY: recursive -.usage_cmake_subdir_template: &usage_cmake_subdir_definition - stage: build - script: - - if [ "${COMPILER}" == "gcc" ]; then export CC="gcc-${COMPILER_VERSION}"; export CXX="g++-${COMPILER_VERSION}"; fi - - if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; fi - - export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${BUILD_TYPE}" - - echo "Using ${CXX} and ${CC} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}" - - mkdir "usage/cmake_subdir/${BUILD_DIR}" - - cd "usage/cmake_subdir/${BUILD_DIR}" - - cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. - - cmake --build . - - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" ./usage_cmake_subdir --help - -.usage_cmake_import_template: &usage_cmake_import_definition - stage: build - script: - - if [ "${COMPILER}" == "gcc" ]; then export CC="gcc-${COMPILER_VERSION}"; export CXX="g++-${COMPILER_VERSION}"; fi - - if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; fi - - export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${BUILD_TYPE}" - - echo "Using ${CXX} and ${CC} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}" - - mkdir "${BUILD_DIR}" - - cd "${BUILD_DIR}" - - cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DlibClaPP_PEDANTIC_COMPILER_FLAGS=On -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. - - cmake --build . --target install - - mkdir "../usage/cmake_import/${BUILD_DIR}" - - cd "../usage/cmake_import/${BUILD_DIR}" - - cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. - - cmake --build . - - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" ./usage_cmake_import --help - -.usage_cmake_pkgconfig_template: &usage_cmake_pkgconfig_definition - stage: build - script: - - if [ "${COMPILER}" == "gcc" ]; then export CC="gcc-${COMPILER_VERSION}"; export CXX="g++-${COMPILER_VERSION}"; fi - - if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; fi - - export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${BUILD_TYPE}" - - echo "Using ${CXX} and ${CC} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}" - - mkdir "${BUILD_DIR}" - - cd "${BUILD_DIR}" - - cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DlibClaPP_PEDANTIC_COMPILER_FLAGS=On -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. - - cmake --build . --target install - - mkdir "../usage/cmake_pkgconfig/${BUILD_DIR}" - - cd "../usage/cmake_pkgconfig/${BUILD_DIR}" - - cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. - - cmake --build . - - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" ./usage_cmake_pkgconfig --help - -.usage_make_pkgconfig_template: &usage_make_pkgconfig_definition - stage: build - script: - - if [ "${COMPILER}" == "gcc" ]; then export CC="gcc-${COMPILER_VERSION}"; export CXX="g++-${COMPILER_VERSION}"; fi - - if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; fi - - export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${BUILD_TYPE}" - - echo "Using ${CXX} and ${CC} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}" - - mkdir "${BUILD_DIR}" - - cd "${BUILD_DIR}" - - cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DlibClaPP_PEDANTIC_COMPILER_FLAGS=On -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. - - cmake --build . --target install - - cd ../usage/make_pkgconfig - - make - - LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" ./usage_make_pkgconfig --help - -.compile_template: &compile_definition - stage: build - script: - - if [ "${COMPILER}" == "gcc" ]; then export CC="gcc-${COMPILER_VERSION}"; export CXX="g++-${COMPILER_VERSION}"; fi - - if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; fi - - export GENERATOR_WO_SPACES=$(echo $GENERATOR | tr -s ' ' '_') - - export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${GENERATOR_WO_SPACES}_${BUILD_TYPE}" - - echo "Using ${CXX} and ${CC} with ${GENERATOR} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}" - - SRC_DIR=`pwd` - - mkdir "${BUILD_DIR}" - - cd "${BUILD_DIR}" - - cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DlibClaPP_PEDANTIC_COMPILER_FLAGS=On -DlibClaPP_BUILD_TESTS=On -DlibClaPP_BUILD_EXAMPLES=On -DlibClaPP_BUILD_DOC_CODE=On -DlibClaPP_BUILD_COVERAGE=On -DlibClaPP_SUBMODULE_DEPENDENCIES=On -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${ADDITIONAL_OPTION} -G "${GENERATOR}" ${SRC_DIR} - - cmake --build . - artifacts: - paths: - - build* - expire_in: 1 week - -.compile_clang_tidy_template: &compile_clang_tidy_definition - stage: build - script: - - if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; export CLANG_TIDY="clang-tidy-${COMPILER_VERSION}"; fi - - export GENERATOR_WO_SPACES=$(echo $GENERATOR | tr -s ' ' '_') - - export BUILD_DIR="build_${CLANG_TIDY}_${GENERATOR_WO_SPACES}_${BUILD_TYPE}" - - echo "Using ${CXX}, ${CC}, ${CLANG_TIDY} with ${GENERATOR} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}" - - SRC_DIR=`pwd` - - mkdir "${BUILD_DIR}" - - cd "${BUILD_DIR}" - - cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DlibClaPP_PEDANTIC_COMPILER_FLAGS=On -DlibClaPP_CLANG_TIDY_BIN=${CLANG_TIDY} -DlibClaPP_BUILD_DOC_CODE=On -DlibClaPP_BUILD_TESTS=On -DlibClaPP_BUILD_EXAMPLES=On -DlibClaPP_SUBMODULE_DEPENDENCIES=On -DlibClaPP_BUILD_COVERAGE=On -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DlibClaPP_CLANG_TIDY=On -G "${GENERATOR}" ${SRC_DIR} - - cmake --build . - -.test_gcov_template: &test_gcov_definition - stage: test - script: - - if [ "${COMPILER}" == "gcc" ]; then export GCOV_EXECUTABLE="gcov-${COMPILER_VERSION}"; fi - - if [ "${COMPILER}" == "clang" ]; then export GCOV_EXECUTABLE="llvm-cov-${COMPILER_VERSION} gcov"; fi - - export GENERATOR_WO_SPACES=$(echo $GENERATOR | tr -s ' ' '_') - - export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${GENERATOR_WO_SPACES}_${BUILD_TYPE}" - - echo "Using ${GCOV_EXECUTABLE} for ${BUILD_TYPE}-build with ${GENERATOR}, build dir ${BUILD_DIR}" - - find -type d -name 'build_*' | grep -v "${BUILD_DIR}" | xargs rm -rf - - cd "${BUILD_DIR}" - - ctest -V -R libclapp_tests - - gcovr -r ../ -e ../third_party/ -e ../tests/ -e ../examples/ -e ../usage/ -e doc/ -e ../doc/ --gcov-executable="${GCOV_EXECUTABLE}" - - ctest -V -E libclapp_tests - coverage: '/^TOTAL.*\s+(\d+%)$/' - -.test_template: &test_definition - stage: test - script: - - export GENERATOR_WO_SPACES=$(echo $GENERATOR | tr -s ' ' '_') - - export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${GENERATOR_WO_SPACES}_${BUILD_TYPE}" - - echo "Using ${CXX} and ${CC} with ${GENERATOR} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}" - - cd "${BUILD_DIR}" - - ctest -V - -clang_format: - stage: build - script: - - find src tests examples usage -iname *.h -o -iname *.cpp -o -iname *.c -o -iname *.hpp | xargs clang-format-11 -i - - git diff HEAD - - git diff-index --quiet HEAD -- - tags: - - compiler - - ubuntu-20.04-amd64 - -compile_debian_10_amd64: - tags: - - compiler - - debian-10-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - GENERATOR: ["Unix Makefiles", "Ninja"] - <<: *compile_definition - -test_gcov_debian_10_amd64: - tags: - - compiler - - debian-10-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - GENERATOR: ["Unix Makefiles", "Ninja"] - needs: - - job: compile_debian_10_amd64 - artifacts: true - <<: *test_gcov_definition - -compile_debian_10_arm64: - tags: - - compiler - - debian-10-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - GENERATOR: ["Unix Makefiles", "Ninja"] - <<: *compile_definition - -test_gcov_debian_10_arm64: - tags: - - compiler - - debian-10-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - GENERATOR: ["Unix Makefiles", "Ninja"] - needs: - - job: compile_debian_10_arm64 - artifacts: true - <<: *test_gcov_definition - -compile_debian_10_armhf: - tags: - - compiler - - debian-10-armhf - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - GENERATOR: ["Unix Makefiles", "Ninja"] - <<: *compile_definition - -test_gcov_debian_10_armhf: - tags: - - compiler - - debian-10-armhf - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - GENERATOR: ["Unix Makefiles", "Ninja"] - needs: - - job: compile_debian_10_armhf - artifacts: true - <<: *test_gcov_definition - -compile_debian_11_amd64: - tags: - - compiler - - debian-11-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [9, 11] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [9, 10] - GENERATOR: ["Unix Makefiles", "Ninja"] - <<: *compile_definition - -test_gcov_debian_11_amd64: - tags: - - compiler - - debian-11-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [9, 11] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [9, 10] - GENERATOR: ["Unix Makefiles", "Ninja"] - needs: - - job: compile_debian_11_amd64 - artifacts: true - <<: *test_gcov_definition - -compile_debian_11_arm64: - tags: - - compiler - - debian-11-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [9, 11] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [9, 10] - GENERATOR: ["Unix Makefiles", "Ninja"] - <<: *compile_definition - -test_gcov_debian_11_arm64: - tags: - - compiler - - debian-11-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [9, 11] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [9, 10] - GENERATOR: ["Unix Makefiles", "Ninja"] - needs: - - job: compile_debian_11_arm64 - artifacts: true - <<: *test_gcov_definition - -compile_debian_11_armhf: - tags: - - compiler - - debian-11-armhf - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [9, 11] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [9, 10] - GENERATOR: ["Unix Makefiles", "Ninja"] - <<: *compile_definition - -test_gcov_debian_11_armhf: - tags: - - compiler - - debian-11-armhf - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [9, 11] - GENERATOR: ["Unix Makefiles", "Ninja"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [9, 10] - GENERATOR: ["Unix Makefiles", "Ninja"] - needs: - - job: compile_debian_11_armhf - artifacts: true - <<: *test_gcov_definition - -compile_ubuntu_20.04_amd64: - tags: - - compiler - - ubuntu-20.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10, 11] - GENERATOR: ["Unix Makefiles"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - GENERATOR: ["Unix Makefiles"] - <<: *compile_definition - -test_gcov_ubuntu_20.04_amd64: - tags: - - compiler - - ubuntu-20.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10, 11] - GENERATOR: ["Unix Makefiles"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - GENERATOR: ["Unix Makefiles"] - needs: - - job: compile_ubuntu_20.04_amd64 - artifacts: true - <<: *test_gcov_definition - -compile_ubuntu_20.04_arm64: - tags: - - compiler - - ubuntu-20.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10, 11] - GENERATOR: ["Unix Makefiles"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - GENERATOR: ["Unix Makefiles"] - <<: *compile_definition - -test_gcov_ubuntu_20.04_arm64: - tags: - - compiler - - ubuntu-20.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10, 11] - GENERATOR: ["Unix Makefiles"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - GENERATOR: ["Unix Makefiles"] - needs: - - job: compile_ubuntu_20.04_arm64 - artifacts: true - <<: *test_gcov_definition - -compile_ubuntu_22.04_amd64: - tags: - - compiler - - ubuntu-22.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13, 14] - GENERATOR: ["Unix Makefiles"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11, 12] - GENERATOR: ["Unix Makefiles"] - <<: *compile_definition - -test_gcov_ubuntu_22.04_amd64: - tags: - - compiler - - ubuntu-22.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13, 14] - GENERATOR: ["Unix Makefiles"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11, 12] - GENERATOR: ["Unix Makefiles"] - needs: - - job: compile_ubuntu_22.04_amd64 - artifacts: true - <<: *test_gcov_definition - -compile_ubuntu_22.04_arm64: - tags: - - compiler - - ubuntu-22.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13, 14] - GENERATOR: ["Unix Makefiles"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11, 12] - GENERATOR: ["Unix Makefiles"] - <<: *compile_definition - -test_gcov_ubuntu_22.04_arm64: - tags: - - compiler - - ubuntu-22.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13, 14] - GENERATOR: ["Unix Makefiles"] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11, 12] - GENERATOR: ["Unix Makefiles"] - needs: - - job: compile_ubuntu_22.04_arm64 - artifacts: true - <<: *test_gcov_definition - -compile_clang_tidy_ubuntu_20.04_amd64: - tags: - - compiler - - ubuntu-20.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [10, 11] - GENERATOR: ["Unix Makefiles"] - <<: *compile_clang_tidy_definition - -compile_clang_tidy_ubuntu_22.04_amd64: - tags: - - compiler - - ubuntu-22.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13, 14] - GENERATOR: ["Unix Makefiles"] - <<: *compile_clang_tidy_definition - -usage_cmake_subdir_debian_10_amd64: - tags: - - compiler - - debian-10-amd64 - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_subdir_definition - -usage_cmake_import_debian_10_amd64: - tags: - - compiler - - debian-10-amd64 - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_import_definition - -usage_cmake_pkgconfig_debian_10_amd64: - tags: - - compiler - - debian-10-amd64 - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_pkgconfig_definition - -usage_make_pkgconfig_debian_10_amd64: - tags: - - compiler - - debian-10-amd64 - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_make_pkgconfig_definition - -usage_cmake_subdir_debian_10_arm64: - tags: - - compiler - - debian-10-arm64 - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_subdir_definition - -usage_cmake_import_debian_10_arm64: - tags: - - compiler - - debian-10-arm64 - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_import_definition - -usage_cmake_pkgconfig_debian_10_arm64: - tags: - - compiler - - debian-10-arm64 - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_pkgconfig_definition - -usage_make_pkgconfig_debian_10_arm64: - tags: - - compiler - - debian-10-arm64 - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_make_pkgconfig_definition - -usage_cmake_subdir_debian_10_armhf: - tags: - - compiler - - debian-10-armhf - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_subdir_definition - -usage_cmake_import_debian_10_armhf: - tags: - - compiler - - debian-10-armhf - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_import_definition - -usage_cmake_pkgconfig_debian_10_armhf: - tags: - - compiler - - debian-10-armhf - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_cmake_pkgconfig_definition - -usage_make_pkgconfig_debian_10_armhf: - tags: - - compiler - - debian-10-armhf - parallel: - matrix: - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: clang - COMPILER_VERSION: [7] - - BUILD_TYPE: ["Debug", "Release", ""] - COMPILER: gcc - COMPILER_VERSION: [7, 8] - <<: *usage_make_pkgconfig_definition - -usage_cmake_subdir_ubuntu_20.04_amd64: - tags: - - compiler - - ubuntu-20.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - <<: *usage_cmake_subdir_definition - -usage_cmake_import_ubuntu_20.04_amd64: - tags: - - compiler - - ubuntu-20.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - <<: *usage_cmake_import_definition - -usage_cmake_pkgconfig_ubuntu_20.04_amd64: - tags: - - compiler - - ubuntu-20.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - <<: *usage_cmake_pkgconfig_definition - -usage_make_pkgconfig_ubuntu_20.04_amd64: - tags: - - compiler - - ubuntu-20.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - <<: *usage_make_pkgconfig_definition - -usage_cmake_subdir_ubuntu_20.04_arm64: - tags: - - compiler - - ubuntu-20.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - <<: *usage_cmake_subdir_definition - -usage_cmake_import_ubuntu_20.04_arm64: - tags: - - compiler - - ubuntu-20.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - <<: *usage_cmake_import_definition - -usage_cmake_pkgconfig_ubuntu_20.04_arm64: - tags: - - compiler - - ubuntu-20.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - <<: *usage_cmake_pkgconfig_definition - -usage_make_pkgconfig_ubuntu_20.04_arm64: - tags: - - compiler - - ubuntu-20.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [7, 8, 9, 10] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [7, 8, 9, 10] - <<: *usage_make_pkgconfig_definition - -usage_cmake_subdir_ubuntu_22.04_amd64: - tags: - - compiler - - ubuntu-22.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11] - <<: *usage_cmake_subdir_definition - -usage_cmake_import_ubuntu_22.04_amd64: - tags: - - compiler - - ubuntu-22.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11] - <<: *usage_cmake_import_definition - -usage_cmake_pkgconfig_ubuntu_22.04_amd64: - tags: - - compiler - - ubuntu-22.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11] - <<: *usage_cmake_pkgconfig_definition - -usage_make_pkgconfig_ubuntu_22.04_amd64: - tags: - - compiler - - ubuntu-22.04-amd64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11] - <<: *usage_make_pkgconfig_definition - -usage_cmake_subdir_ubuntu_22.04_arm64: - tags: - - compiler - - ubuntu-22.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11] - <<: *usage_cmake_subdir_definition - -usage_cmake_import_ubuntu_22.04_arm64: - tags: - - compiler - - ubuntu-22.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11] - <<: *usage_cmake_import_definition - -usage_cmake_pkgconfig_ubuntu_22.04_arm64: - tags: - - compiler - - ubuntu-22.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11] - <<: *usage_cmake_pkgconfig_definition - -usage_make_pkgconfig_ubuntu_22.04_arm64: - tags: - - compiler - - ubuntu-22.04-arm64 - parallel: - matrix: - - BUILD_TYPE: [Debug, Release] - COMPILER: clang - COMPILER_VERSION: [12, 13] - - BUILD_TYPE: [Debug, Release] - COMPILER: gcc - COMPILER_VERSION: [11] - <<: *usage_make_pkgconfig_definition - -compile_release_address_leak_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_ADDRESS=On -DlibClaPP_ENABLE_SANITIZER_LEAK=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_release_address_leak_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_release_address_leak_sanitizer_gcc11_amd64 - artifacts: true - <<: *test_definition - -compile_debug_address_leak_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_ADDRESS=On -DlibClaPP_ENABLE_SANITIZER_LEAK=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_debug_address_leak_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_debug_address_leak_sanitizer_gcc11_amd64 - artifacts: true - <<: *test_definition - -compile_release_thread_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_THREAD=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_release_thread_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_release_thread_sanitizer_gcc11_amd64 - artifacts: true - <<: *test_definition - -compile_debug_thread_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_THREAD=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_debug_thread_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_debug_thread_sanitizer_gcc11_amd64 - artifacts: true - <<: *test_definition - -compile_release_undefined_behavior_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_UNDEFINED_BEHAVIOR=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_release_undefined_behavior_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_release_undefined_behavior_sanitizer_gcc11_amd64 - artifacts: true - <<: *test_definition - -compile_debug_undefined_behavior_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_UNDEFINED_BEHAVIOR=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_debug_undefined_behavior_sanitizer_gcc11_amd64: - variables: - COMPILER: gcc - COMPILER_VERSION: 11 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_debug_undefined_behavior_sanitizer_gcc11_amd64 - artifacts: true - <<: *test_definition - -compile_release_address_leak_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_ADDRESS=On -DlibClaPP_ENABLE_SANITIZER_LEAK=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_release_address_leak_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_release_address_leak_sanitizer_clang13_amd64 - artifacts: true - <<: *test_definition - -compile_debug_address_leak_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_ADDRESS=On -DlibClaPP_ENABLE_SANITIZER_LEAK=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_debug_address_leak_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_debug_address_leak_sanitizer_clang13_amd64 - artifacts: true - <<: *test_definition - -compile_release_undefined_behavior_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_UNDEFINED_BEHAVIOR=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_release_undefined_behavior_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_release_undefined_behavior_sanitizer_clang13_amd64 - artifacts: true - <<: *test_definition - -compile_debug_undefined_behavior_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_UNDEFINED_BEHAVIOR=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_debug_undefined_behavior_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_debug_undefined_behavior_sanitizer_clang13_amd64 - artifacts: true - <<: *test_definition - -compile_release_thread_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_THREAD=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_release_thread_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_release_thread_sanitizer_clang13_amd64 - artifacts: true - <<: *test_definition - -compile_debug_thread_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - ADDITIONAL_OPTION: "-DlibClaPP_ENABLE_SANITIZER_THREAD=On" - tags: - - ubuntu-22.04-amd64 - - compiler - <<: *compile_definition - -test_debug_thread_sanitizer_clang13_amd64: - variables: - COMPILER: clang - COMPILER_VERSION: 13 - BUILD_TYPE: "Release" - GENERATOR: "Unix Makefiles" - tags: - - ubuntu-22.04-amd64 - - compiler - needs: - - job: compile_debug_thread_sanitizer_clang13_amd64 - artifacts: true - <<: *test_definition +include: + - local: /.gitlab-ci/format.yml diff --git a/.gitlab-ci/format.yml b/.gitlab-ci/format.yml new file mode 100644 index 00000000..11f818a6 --- /dev/null +++ b/.gitlab-ci/format.yml @@ -0,0 +1,35 @@ +.format-template: + stage: format + variables: + FORMAT_PATCH_FILE: "format.patch" + artifacts: + when: always + expire_in: 1 week + paths: + - ${FORMAT_PATCH_FILE} + +clang-format: + extends: + - .format-template + script: + - .ci/format/apply_clang_format.sh --output-patch-file "${FORMAT_PATCH_FILE}" + variables: + CLANG_COMPILER_VERSION: "11" + tags: + - ubuntu-22.04-amd64 + +shfmt: + extends: + - .format-template + script: + - .ci/format/apply_shfmt.sh --output-patch-file "${FORMAT_PATCH_FILE}" + tags: + - ubuntu-24.04-amd64 + +shfmt-bats: + extends: + - .format-template + script: + - .ci/format/apply_shfmt_bats.sh --output-patch-file "${FORMAT_PATCH_FILE}" + tags: + - ubuntu-24.04-amd64 -- GitLab