14
14
15
15
jobs :
16
16
build :
17
- runs-on : ubuntu-20.04
18
17
strategy :
18
+ fail-fast : false
19
19
matrix :
20
- compiler : [clang-6, gcc-7, gcc-8, gcc-9]
20
+ os : [ubuntu-20.04]
21
+ compiler : [clang-6, clang-10-libc++, gcc-7, gcc-8, gcc-9]
21
22
ssl : [ssl_ON, ssl_OFF]
23
+ dependencies : [dependencies_BUILT_IN]
24
+
22
25
include :
23
26
- compiler : clang-6
24
- INSTALL : clang-6.0
27
+ COMPILER_INSTALL : clang-6.0 libc++-dev
25
28
C_COMPILER : clang-6.0
26
29
CXX_COMPILER : clang++-6.0
27
30
31
+ - compiler : clang-10-libc++
32
+ COMPILER_INSTALL : clang-10 libc++-dev
33
+ C_COMPILER : clang-10
34
+ CXX_COMPILER : clang++-10
35
+
28
36
- compiler : gcc-7
29
- INSTALL : gcc-7 g++-7
37
+ COMPILER_INSTALL : gcc-7 g++-7
30
38
C_COMPILER : gcc-7
31
39
CXX_COMPILER : g++-7
32
40
33
41
- compiler : gcc-8
34
- INSTALL : gcc-8 g++-8
42
+ COMPILER_INSTALL : gcc-8 g++-8
35
43
C_COMPILER : gcc-8
36
44
CXX_COMPILER : g++-8
37
45
38
46
- compiler : gcc-9
39
- INSTALL : gcc-9 g++-9
47
+ COMPILER_INSTALL : gcc-9 g++-9
40
48
C_COMPILER : gcc-9
41
49
CXX_COMPILER : g++-9
42
50
43
51
- ssl : ssl_ON
44
- INSTALL_SSL : libssl-dev
45
- EXTRA_CMAKE_FLAGS : -DWITH_OPENSSL=ON
52
+ SSL_CMAKE_OPTION : -D WITH_OPENSSL=ON
46
53
47
- - ssl : ssl_OFF
48
- EXTRA_CMAKE_FLAGS : -DWITH_OPENSSL=OFF
54
+ - dependencies : dependencies_SYSTEM
55
+ compiler : compiler_SYSTEM
56
+ os : ubuntu-22.04
57
+ COMPILER_INSTALL : gcc g++
58
+ C_COMPILER : gcc
59
+ CXX_COMPILER : g++
60
+ DEPENDENCIES_INSTALL : libabsl-dev liblz4-dev
61
+ DEPENDENCIES_CMAKE_OPTIONS : >-
62
+ -D WITH_SYSTEM_LZ4=ON
63
+ -D WITH_SYSTEM_ABSEIL=ON
64
+
65
+ runs-on : ${{matrix.os}}
49
66
50
67
steps :
51
68
- uses : actions/checkout@v2
52
69
53
70
- name : Install dependencies
54
- run : sudo apt-get install -y docker cmake ${{ matrix.INSTALL }} ${{ matrix.INSTALL_SSL }}
71
+ run : |
72
+ sudo apt-get update && \
73
+ sudo apt-get install -y \
74
+ docker \
75
+ cmake \
76
+ ${{matrix.COMPILER_INSTALL}} \
77
+ ${{matrix.DEPENDENCIES_INSTALL}}
55
78
56
79
- name : Install dependencies - Docker
57
80
run : |
@@ -62,17 +85,24 @@ jobs:
62
85
sudo apt update -q
63
86
sudo apt install docker-ce docker-ce-cli containerd.io
64
87
65
- - name : Configure CMake
88
+ - name : Configure project
89
+ run : |
90
+ cmake \
91
+ -D CMAKE_C_COMPILER=${{matrix.C_COMPILER}} \
92
+ -D CMAKE_CXX_COMPILER=${{matrix.CXX_COMPILER}} \
93
+ -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
94
+ -D BUILD_TESTS=ON \
95
+ ${{matrix.SSL_CMAKE_OPTION}} \
96
+ ${{matrix.DEPENDENCIES_CMAKE_OPTIONS}} \
97
+ -S ${{github.workspace}} \
98
+ -B ${{github.workspace}}/build
99
+
100
+ - name : Build project
66
101
run : |
67
102
cmake \
68
- -DCMAKE_C_COMPILER=${{ matrix.C_COMPILER}} \
69
- -DCMAKE_CXX_COMPILER=${{ matrix.CXX_COMPILER}} \
70
- -B ${{github.workspace}}/build \
71
- -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_TESTS=ON \
72
- ${{ matrix.EXTRA_CMAKE_FLAGS }}
73
-
74
- - name : Build
75
- run : cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target all
103
+ --build ${{github.workspace}}/build \
104
+ --config ${{env.BUILD_TYPE}} \
105
+ --target all
76
106
77
107
- name : Test - Start ClickHouse server in background
78
108
run : |
0 commit comments