os-linux.yml 3.16 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
# Linux-specific builder configurations and build commands

## Base images

### CentOS
#
# CentOS 7 is the primary deployment platform. This gains us maximum
# compatibility with many Linux distros while also providing easy ways to get
# newer compilers.

.centos7:
12
    image: "kitware/paraview:ci-superbuild-centos7-20210113"
13
14
15
16
17

    variables:
        GIT_SUBMODULE_STRATEGY: none
        LAUNCHER: "scl enable devtoolset-7 --"
        GIT_CLONE_PATH: $CI_BUILDS_DIR/gitlab-kitware-sciviz-ci
18
        CUDACXX: "/usr/local/cuda-11.2/bin/nvcc"
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

.centos7_plain:
    extends: .centos7

    variables:
        CMAKE_CONFIGURATION: linux_plain

.centos7_egl:
    extends: .centos7

    variables:
        CMAKE_CONFIGURATION: linux_egl

.centos7_osmesa_shared:
    extends: .centos7

    variables:
        CMAKE_CONFIGURATION: linux_osmesa_shared

.centos7_osmesa_static:
    extends: .centos7

    variables:
        CMAKE_CONFIGURATION: linux_osmesa_static

Ben Boeckel's avatar
Ben Boeckel committed
44
45
.fedora33:
    image: "kitware/paraview:ci-superbuild-fedora33-20201112"
46
47
48
49
50

    variables:
        GIT_SUBMODULE_STRATEGY: none
        GIT_CLONE_PATH: $CI_BUILDS_DIR/gitlab-kitware-sciviz-ci

Ben Boeckel's avatar
Ben Boeckel committed
51
52
.fedora33_plain:
    extends: .fedora33
53
54
55
56

    variables:
        CMAKE_CONFIGURATION: linux_plain

Ben Boeckel's avatar
Ben Boeckel committed
57
58
.fedora33_egl:
    extends: .fedora33
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

    variables:
        CMAKE_CONFIGURATION: linux_egl

## Tags

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

.linux_test_tags:
    tags:
        - docker
        - linux
        - paraview
        - x11

## Linux-specific scripts

.before_script_linux: &before_script_linux
    - .gitlab/ci/cmake.sh
    - .gitlab/ci/ninja.sh
    - export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
    - cmake --version
    - ninja --version
    - "git submodule update --init --recursive || :"
88
    - git submodule foreach --recursive cmake -P "$PWD/.gitlab/ci/fetch_submodule.cmake"
89
90
91
92
93
    - git submodule sync --recursive
    - git submodule update --init --recursive

.before_script_linux_paraview: &before_script_linux_paraview
    - .gitlab/ci/checkout_paraview.sh
94
95
    - export PARAVIEW_COMMIT_SHA=`git -C $CI_PROJECT_DIR/source-paraview rev-parse HEAD`
    - export PARAVIEW_COMMIT_SHORT_SHA=`git -C $CI_PROJECT_DIR/source-paraview rev-parse --short HEAD`
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

.cmake_build_linux:
    stage: build

    script:
        - *before_script_linux
        - *before_script_linux_paraview
        - export GIT_CEILING_DIRECTORIES=$PWD
        - .gitlab/ci/sccache.sh
        - export CC=$PWD/.gitlab/shortcuts/gcc
        - export CXX=$PWD/.gitlab/shortcuts/g++
        - sccache --start-server
        - sccache --show-stats
        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
        - "$LAUNCHER ctest -V --output-on-failure -S .gitlab/ci/ctest_package.cmake"
        - sccache --show-stats

    cache:
        key: linux
        paths:
            # Cache downloaded tarballs.
            - build/downloads/
    interruptible: true
120
    timeout: 3 hours
121
122
123
124
125
126
127
128

.cmake_test_linux:
    stage: test

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