-
Notifications
You must be signed in to change notification settings - Fork 159
78 lines (67 loc) · 2.28 KB
/
macos.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: macOS
on:
schedule:
- cron: '0 0 * * 1'
push:
branches: [ master ]
pull_request:
branches: [ master ]
release:
types:
- published
- prereleased
env:
BUILD_TYPE: Release
CLICKHOUSE_USER: clickhouse_cpp_cicd
CLICKHOUSE_PASSWORD: clickhouse_cpp_cicd
jobs:
build:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
build: [nossl, ssl]
include:
- build: nossl
- build: ssl
SSL_CMAKE_OPTION: >-
-D WITH_OPENSSL=ON
-D OPENSSL_ROOT_DIR=/usr/local/opt/openssl/
SSL_INSTALL: openssl
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 100
fetch-tags: true
- name: Install dependencies
run: brew install cmake ${{matrix.SSL_INSTALL}}
- name: Configure CMake
run: |
cmake \
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
-D BUILD_TESTS=ON \
${{matrix.SSL_CMAKE_OPTION}} \
-S ${{github.workspace}} \
-B ${{github.workspace}}/build
- name: Build
run: |
cmake \
--build ${{github.workspace}}/build \
--config ${{env.BUILD_TYPE}} \
--target all
- name: Start tls offoader proxy
# that mimics non-secure clickhouse running on localhost
# by tunneling queries to remote tls server
# (needed because we can't start real clickhouse instance on macOS)
run: |
wget https://github.com/filimonov/go-tlsoffloader/releases/download/v0.1.2/go-tlsoffloader_0.1.2_Darwin_x86_64.tar.gz
tar -xvzf go-tlsoffloader_0.1.2_Darwin_x86_64.tar.gz
./go-tlsoffloader -l localhost:9000 -b github.demo.trial.altinity.cloud:9440 &
- name: Test
working-directory: ${{github.workspace}}/build/ut
env:
# It is impossible to start CH server in docker on macOS due to github actions limitations,
# so we use remote server to execute tests, some do not allow some features for anonymoust/free users:
# - system.query_log used by 'Client/ClientCase.Query_ID'
GTEST_FILTER: "-Client/ClientCase.Query_ID*:Client/ClientCase.TracingContext/*"
run: ./clickhouse-cpp-ut ${GTEST_FILTER}