Commit d621ac5e authored by Simon Spannagel's avatar Simon Spannagel
Browse files

Merge branch 'ci_target_branch' into 'master'

CI: Define Target Repository

See merge request allpix-squared/allpix-squared!655
parents a55e9b99 f33c5590
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
variables:
    REPOSITORY: "https://gitlab.cern.ch/allpix-squared/allpix-squared.git"
    EOS_PATH: "/eos/project/a/allpix-squared/www/"
    DOCKER_FILE: etc/docker/Dockerfile

@@ -162,7 +163,8 @@ fmt:cc7-llvm-lint:
fmt:cc7-llvm-lint-diff:
    extends: .format
    script:
        - cmake -GNinja -DCMAKE_CXX_FLAGS="-Werror" -DBUILD_LCIOWriter=ON -DCMAKE_BUILD_TYPE=RELEASE -DLCIO_DIR=$LCIO_DIR ..
        - git remote add upstream $REPOSITORY && git fetch upstream
        - cmake -GNinja -DCMAKE_CXX_FLAGS="-Werror" -DBUILD_LCIOWriter=ON -DCMAKE_BUILD_TYPE=RELEASE -DLCIO_DIR=$LCIO_DIR -DTARGET_REMOTE="upstream" ..
        - ninja check-lint-diff 2> /dev/null

fmt:cmake-lint:
+11 −7
Original line number Diff line number Diff line
@@ -136,25 +136,29 @@ IF(CLANG_TIDY AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
        NAMES "clang-tidy-diff.py" "clang-tidy-diff-${CLANG_TIDY_VERSION}.py"
        HINTS /usr/share/clang/ ${CLANG_DIR}/../share/clang/ /usr/bin/)
    IF(RUN_CLANG_TIDY)
        MESSAGE(STATUS "Found ${CLANG_TIDY_DIFF}, adding code-diff linting targets")

        # Set target branch to perform the diff against
        # Set target branch and remote to perform the diff against
        IF(NOT TARGET_BRANCH)
            SET(TARGET_BRANCH "master")
        ENDIF()
        IF(NOT TARGET_REMOTE)
            SET(TARGET_REMOTE "origin")
        ENDIF()
        MESSAGE(
            STATUS "Found ${CLANG_TIDY_DIFF}, adding code-diff linting targets against ${TARGET_REMOTE}/${TARGET_BRANCH}")

        ADD_CUSTOM_TARGET(
            lint-diff
            COMMAND git diff --unified=0 origin/${TARGET_BRANCH}... | ${CLANG_TIDY_DIFF} -clang-tidy-binary=${CLANG_TIDY}
                    -path=${CMAKE_BINARY_DIR} -p1 -fix -j${NPROC}
            COMMAND git diff --unified=0 ${TARGET_REMOTE}/${TARGET_BRANCH}... | ${CLANG_TIDY_DIFF}
                    -clang-tidy-binary=${CLANG_TIDY} -path=${CMAKE_BINARY_DIR} -p1 -fix -j${NPROC}
            WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
            COMMENT "Auto fixing problems in differing source files")

        ADD_CUSTOM_TARGET(
            check-lint-diff
            COMMAND
                git diff --unified=0 origin/${TARGET_BRANCH}... | ${CLANG_TIDY_DIFF} -clang-tidy-binary=${CLANG_TIDY}
                -path=${CMAKE_BINARY_DIR} -p1 -j${NPROC} | tee ${CMAKE_BINARY_DIR}/check_lint_file.txt
                git diff --unified=0 ${TARGET_REMOTE}/${TARGET_BRANCH}... | ${CLANG_TIDY_DIFF}
                -clang-tidy-binary=${CLANG_TIDY} -path=${CMAKE_BINARY_DIR} -p1 -j${NPROC} | tee
                ${CMAKE_BINARY_DIR}/check_lint_file.txt
                # WARNING: fix to stop with error if there are problems
            COMMAND ! grep -c ": error: " ${CMAKE_BINARY_DIR}/check_lint_file.txt > /dev/null
            WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}