Skip to content

Run tests locally on CI #1175

Run tests locally on CI

Run tests locally on CI #1175

Workflow file for this run

name: Linux
on:
schedule:
- cron: '0 0 * * 1'
push:
branches: [ '*' ]
pull_request:
branches: [ master ]
release:
types:
- published
- prereleased
env:
BUILD_TYPE: Release
jobs:
build:
strategy:
fail-fast: false
matrix:
compiler: [clang-11, clang-14, clang-18, gcc-9, gcc-12, gcc-14]
ssl: [ssl_ON, ssl_OFF]
dependencies: [dependencies_BUILT_IN]
include:
- compiler: clang-11
os: ubuntu-22.04
COMPILER_INSTALL: clang-11 libc++-11-dev
C_COMPILER: clang-11
CXX_COMPILER: clang++-11
- compiler: clang-14
os: ubuntu-24.04
COMPILER_INSTALL: clang-14 libc++-14-dev
C_COMPILER: clang-14
CXX_COMPILER: clang++-14
- compiler: clang-18
os: ubuntu-24.04
COMPILER_INSTALL: clang-18 libc++-18-dev
C_COMPILER: clang-18
CXX_COMPILER: clang++-18
- compiler: gcc-9
os: ubuntu-22.04
COMPILER_INSTALL: gcc-9 g++-9
C_COMPILER: gcc-9
CXX_COMPILER: g++-9
- compiler: gcc-12
os: ubuntu-24.04
COMPILER_INSTALL: gcc-12 g++-12
C_COMPILER: gcc-12
CXX_COMPILER: g++-12
- compiler: gcc-14
os: ubuntu-24.04
COMPILER_INSTALL: gcc-14 g++-14
C_COMPILER: gcc-14
CXX_COMPILER: g++-14
- ssl: ssl_ON
SSL_CMAKE_OPTION: -D WITH_OPENSSL=ON
- dependencies: dependencies_SYSTEM
compiler: compiler_SYSTEM
os: ubuntu-24.04
COMPILER_INSTALL: gcc g++
C_COMPILER: gcc
CXX_COMPILER: g++
DEPENDENCIES_INSTALL: libabsl-dev liblz4-dev
DEPENDENCIES_CMAKE_OPTIONS: >-
-D WITH_SYSTEM_LZ4=ON
-D WITH_SYSTEM_ABSEIL=ON
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 100
fetch-tags: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
cmake \
${{matrix.COMPILER_INSTALL}} \
${{matrix.DEPENDENCIES_INSTALL}}
- name: Configure project
run: |
cmake \
-D CMAKE_C_COMPILER=${{matrix.C_COMPILER}} \
-D CMAKE_CXX_COMPILER=${{matrix.CXX_COMPILER}} \
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
-D BUILD_TESTS=ON \
${{matrix.SSL_CMAKE_OPTION}} \
${{matrix.DEPENDENCIES_CMAKE_OPTIONS}} \
-S ${{github.workspace}} \
-B ${{github.workspace}}/build
- name: Build project
run: |
cmake \
--build ${{github.workspace}}/build \
--config ${{env.BUILD_TYPE}} \
--target all
- name: Start ClickHouse in Docker
uses: hoverkraft-tech/compose-action@v2.0.1
with:
compose-file: ci/docker-compose.yml
down-flags: --volumes
- name: Test
working-directory: ${{github.workspace}}/build/ut
run: ./clickhouse-cpp-ut