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