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