# Linux-specific builder configurations and build commands

## Base images

### Release

.linux_prep_source:
    image: "fedora:34"

    variables:
        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"

.linux_release_x86_64:
    image: "kitware/cmake:build-linux-x86_64-deps-2020-04-02@sha256:77e9ab183f34680990db9da5945473e288f0d6556bce79ecc1589670d656e157"

    variables:
        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
        LAUNCHER: "scl enable devtoolset-6 rh-python36 --"
        CMAKE_ARCH: x86_64

.linux_release_aarch64:
    image: "kitware/cmake:build-linux-aarch64-deps-2020-12-21@sha256:0bd7dfe4e45593b04e39cd21e44011034610cfd376900558c5ef959bb1af15af"

    variables:
        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
        LAUNCHER: "scl enable devtoolset-7 --"
        CMAKE_ARCH: aarch64

.linux_package:
    variables:
        BOOTSTRAP_ARGS: '-- "-DCMake_DOC_ARTIFACT_PREFIX=$CI_PROJECT_DIR/build/install-doc"'

.needs_centos6_x86_64:
    dependencies:
        - build:centos6-x86_64
    needs:
        - build:centos6-x86_64

.needs_centos7_aarch64:
    dependencies:
        - build:centos7-aarch64
    needs:
        - build:centos7-aarch64

### Debian

.debian10:
    image: "kitware/cmake:ci-debian10-x86_64-2021-05-11"

    variables:
        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
        CMAKE_ARCH: x86_64

.debian10_iwyu:
    extends: .debian10

    variables:
        CMAKE_CONFIGURATION: debian10_iwyu
        CTEST_NO_WARNINGS_ALLOWED: 1
        CMake_SKIP_INSTALL: 1

.debian10_aarch64:
    image: "kitware/cmake:ci-debian10-aarch64-2021-05-11"

    variables:
        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
        CMAKE_ARCH: aarch64

### Fedora

.fedora34:
    image: "kitware/cmake:ci-fedora34-x86_64-2021-06-07"

    variables:
        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes"
        CMAKE_ARCH: x86_64

#### Lint builds

.fedora34_tidy:
    extends: .fedora34

    variables:
        CMAKE_CONFIGURATION: fedora34_tidy
        CTEST_NO_WARNINGS_ALLOWED: 1
        CMake_SKIP_INSTALL: 1

.fedora34_clang_analyzer:
    extends: .fedora34

    variables:
        CMAKE_CONFIGURATION: fedora34_clang_analyzer
        CMAKE_BUILD_TYPE: Debug
        CTEST_NO_WARNINGS_ALLOWED: 1
        CMake_SKIP_INSTALL: 1

.fedora34_sphinx:
    extends: .fedora34

    variables:
        CMAKE_CONFIGURATION: fedora34_sphinx
        CTEST_NO_WARNINGS_ALLOWED: 1
        CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
        CMake_SKIP_INSTALL: 1

.fedora34_sphinx_package:
    extends: .fedora34

    variables:
        CMAKE_CONFIGURATION: fedora34_sphinx_package
        CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"

#### Build and test

.debian10_ninja:
    extends: .debian10

    variables:
        CMAKE_CONFIGURATION: debian10_ninja
        CTEST_NO_WARNINGS_ALLOWED: 1

.debian10_aarch64_ninja:
    extends: .debian10_aarch64

    variables:
        CMAKE_CONFIGURATION: debian10_aarch64_ninja
        CTEST_NO_WARNINGS_ALLOWED: 1

.fedora34_ninja:
    extends: .fedora34

    variables:
        CMAKE_CONFIGURATION: fedora34_ninja
        CTEST_NO_WARNINGS_ALLOWED: 1

.fedora34_ninja_multi:
    extends: .fedora34

    variables:
        CMAKE_CONFIGURATION: fedora34_ninja_multi
        CTEST_NO_WARNINGS_ALLOWED: 1
        CMAKE_GENERATOR: "Ninja Multi-Config"

.fedora34_makefiles:
    extends: .fedora34

    variables:
        CMAKE_CONFIGURATION: fedora34_makefiles
        CTEST_NO_WARNINGS_ALLOWED: 1
        CMAKE_GENERATOR: "Unix Makefiles"

### Clang Compiler

.debian10_makefiles_clang:
    extends: .debian10

    variables:
        CMAKE_CONFIGURATION: debian10_makefiles_clang
        CMAKE_GENERATOR: "Unix Makefiles"

### Sanitizers

.fedora_memcheck:
    variables:
        CMAKE_BUILD_TYPE: RelWithDebInfo

.fedora_asan_addon:
    extends: .fedora_memcheck

    variables:
        CTEST_MEMORYCHECK_TYPE: AddressSanitizer
        CTEST_MEMORYCHECK_SANITIZER_OPTIONS: ""

.fedora34_asan:
    extends:
        - .fedora34
        - .fedora_asan_addon

    variables:
        CMAKE_CONFIGURATION: fedora34_asan

### Intel Compiler

.intelcompiler:
    image: "kitware/intelcompiler:$CMAKE_CI_INTELCOMPILER_IMAGE_TAG"
    environment:
        name: intel-compiler
    variables:
        CMAKE_ARCH: x86_64

.intelclassic_makefiles:
    extends: .intelcompiler
    variables:
        CMAKE_CONFIGURATION: intelclassic_makefiles
        CMAKE_GENERATOR: "Unix Makefiles"

.inteloneapi_makefiles:
    extends: .intelcompiler
    variables:
        CMAKE_CONFIGURATION: inteloneapi_makefiles
        CMAKE_GENERATOR: "Unix Makefiles"

### CUDA builds

.cuda10.2:
    image: "kitware/cmake:ci-cuda10.2-x86_64-2020-06-11"

    variables:
        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
        CMAKE_ARCH: x86_64
        CTEST_LABELS: "CUDA"

.cuda10.2_nvidia:
    extends: .cuda10.2

    variables:
        CMAKE_CONFIGURATION: cuda10.2_nvidia
        CTEST_NO_WARNINGS_ALLOWED: 1

## Tags

.linux_builder_tags:
    tags:
        - cmake
        - build
        - docker
        - linux

.linux_builder_tags_qt:
    tags:
        - cmake
        - build
        - docker
        - linux
        - linux-3.17 # Needed to be able to load Fedora's Qt libraries.

.linux_builder_tags_x11:
    tags:
        - cmake
        - docker
        - linux
        - linux-3.17 # Needed to be able to load Fedora's Qt libraries.
        - x11

.linux_builder_tags_cuda:
    tags:
        - cmake
        - cuda-rt
        - docker
        - linux

.linux_builder_tags_aarch64:
    tags:
        - cmake
        - build
        - docker
        - linux-aarch64

.linux_builder_tags_aarch64_qt:
    tags:
        - cmake
        - build
        - docker
        - linux-aarch64
        - linux-3.17 # Needed to be able to load Fedora's Qt libraries.

## Linux-specific scripts

.before_script_linux: &before_script_linux
    - source .gitlab/ci/env.sh
    - .gitlab/ci/cmake.sh
    - .gitlab/ci/ninja.sh
    - export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
    - cmake --version
    - ninja --version

.cmake_prep_source_linux:
    stage: prep

    script:
        - *before_script_linux
        - dnf install --setopt=install_weak_deps=False -y git-core
        - v="$(.gitlab/ci/cmake_version.sh)"
        - mkdir -p build/
        - git archive --format=tgz "--prefix=cmake-$v/" -o "build/cmake-$v.tar.gz" HEAD
        - git -c core.autocrlf=true -c core.eol=crlf archive --format=zip --prefix="cmake-$v/" -o "build/cmake-$v.zip" HEAD

    interruptible: true

.cmake_prep_doc_linux:
    stage: prep

    script:
        - *before_script_linux
        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"

    interruptible: true

.cmake_codespell_linux:
    stage: build
    extends: .fedora34
    script:
        - codespell
    interruptible: true

.cmake_build_linux:
    stage: build

    script:
        - *before_script_linux
        - .gitlab/ci/sccache.sh
        - sccache --start-server
        - sccache --show-stats
        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
        - sccache --show-stats

    interruptible: true

.cmake_test_linux:
    stage: test

    script:
        - *before_script_linux
        - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake"

    interruptible: true

.cmake_memcheck_linux:
    stage: test

    script:
        - *before_script_linux
        - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_memcheck.cmake"

    interruptible: true

.cmake_build_linux_release:
    stage: build

    script:
        - source .gitlab/ci/env.sh
        # Bootstrap.
        - mkdir -p build/
        # Exclude documentation.  A job dependency provides it for packaging.
        - sed '/^# Build doc/,/^$/d' Utilities/Release/linux/$CMAKE_ARCH/cache.txt > build/CMakeCache.txt
        # Make sccache available.
        - .gitlab/ci/sccache.sh
        - export PATH=$PWD/.gitlab:$PATH
        # Append sccache settings to the cache.
        - echo "CMAKE_C_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt
        - echo "CMAKE_CXX_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt
        # CI settings.
        - echo "CMake_TEST_INSTALL:BOOL=OFF" >> build/CMakeCache.txt
        - echo "CMAKE_INSTALL_PREFIX:PATH=$PWD/build/install" >> build/CMakeCache.txt
        - echo "CMAKE_SKIP_INSTALL_ALL_DEPENDENCY:BOOL=ON" >> build/CMakeCache.txt
        # Appease Git. The Git in this container is old (1.7) and doesn't
        # understand some things. But, it doesn't need to, so make it blind.
        - mkdir -p .git/info
        - echo "* -crlf" >> .git/info/attributes
        - git reset --hard
        # Bootstrap
        - cd build/
        - '$LAUNCHER ../bootstrap --parallel=$(nproc) --docdir=doc/cmake $BOOTSTRAP_ARGS'
        # FIXME: When CTest can drive an external CMake for the build as well,
        # use the scripts here.
        - "$LAUNCHER make -j$(nproc)"
        # NOTE: This regex matches that used in the release build.
        - "$LAUNCHER bin/ctest --output-on-failure -j$(nproc) -R '^(CMake\\.|CMakeLib\\.|CMakeServerLib\\.|RunCMake\\.ctest_memcheck)'"
        # Make a package.
        - bin/cpack -G TGZ
        - bin/cpack -G STGZ
        - sccache --show-stats

    interruptible: true

.cmake_test_linux_release:
    stage: test-ext

    script:
        - *before_script_linux
        # Make the CMake package available.
        - mkdir -p build/install
        - tar -C build/install --strip-components=1 -xzf build/cmake-*-linux-$CMAKE_ARCH.tar.gz
        - .gitlab/ci/sccache.sh
        - sccache --start-server
        - sccache --show-stats
        - "$LAUNCHER build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake"
        - sccache --show-stats

    interruptible: true

.cmake_test_linux_external:
    stage: test-ext

    script:
        - *before_script_linux
        - .gitlab/ci/sccache.sh
        - sccache --start-server
        - sccache --show-stats
        - "$LAUNCHER build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_test_external.cmake"
        - sccache --show-stats

    interruptible: true

.cmake_test_linux_intelclassic_makefiles:
    extends:
        - .intelclassic_makefiles
        - .cmake_test_linux_release
        - .linux_builder_tags_qt
        - .run_manually
        - .needs_centos6_x86_64
    variables:
        CMAKE_CI_JOB_NIGHTLY: "true"

.cmake_test_linux_inteloneapi_makefiles:
    extends:
        - .inteloneapi_makefiles
        - .cmake_test_linux_release
        - .linux_builder_tags_qt
        - .run_manually
        - .needs_centos6_x86_64
    variables:
        CMAKE_CI_JOB_NIGHTLY: "true"

### Documentation

.cmake_org_help:
    stage: build
    extends:
        - .fedora34
        - .linux_builder_tags
        - .cmake_org_help_artifacts
    script:
        - *before_script_linux
        - mkdir -p build/
        - cd build/
        - cmake ../Utilities/Sphinx -GNinja -DSPHINX_HTML=ON -DSPHINX_FLAGS="-A versionswitch=1"
        - ninja
