Skip to content

Commit c84d935

Browse files
authored
Merge pull request #2 from kenneth-jia/dev
improve ci
2 parents 9468298 + 2bc9143 commit c84d935

File tree

3 files changed

+126
-25
lines changed

3 files changed

+126
-25
lines changed

.github/workflows/on_pull_request.yml

Lines changed: 123 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,114 @@ name: On Pull Request
33
on: [pull_request]
44

55
env:
6-
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
7-
BUILD_TYPE: Release
8-
BUILD_DIR: 'build'
6+
CPU_CORE_NUM: 2
97

108
jobs:
11-
build_gcc:
12-
name: Build on Linux with GCC
9+
build_gcc_debug:
10+
name: Build on Linux with GCC (Debug)
11+
runs-on: ubuntu-latest
12+
env:
13+
BUILD_SUB_DIR: build/gcc-debug
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Install Dependencies
17+
run: |
18+
# Update the package list
19+
sudo apt update
20+
21+
mkdir -p $BUILD_SUB_DIR
22+
cd $BUILD_SUB_DIR
23+
# 1. Install cmake
24+
sudo snap install cmake --classic
25+
export PATH=/snap/bin:$PATH
26+
# 2. Install clang
27+
sudo apt remove -y --autoremove gcc-7
28+
sudo apt install -y g++-8
29+
sudo ln -s gcc-8 /usr/bin/gcc
30+
sudo ln -s g++-8 /usr/bin/g++
31+
# 3. Install googletest
32+
sudo apt install -y googletest
33+
mkdir -p googletest
34+
cd googletest
35+
env CC=gcc CXX=g++ cmake /usr/src/googletest/
36+
make -j$CPU_CORE_NUM && sudo make install
37+
cd ../
38+
# 4. Install boost lib
39+
sudo apt install -y libboost-all-dev
40+
# 5. Install librdkafka
41+
wget https://github.com/edenhill/librdkafka/archive/v1.4.2.tar.gz
42+
tar -xvzf v1.4.2.tar.gz
43+
cd librdkafka-1.4.2
44+
./configure
45+
make -j$CPU_CORE_NUM && sudo make install
46+
cd ../
47+
- name: Config
48+
run: |
49+
cd $BUILD_SUB_DIR
50+
env CC=gcc CXX=g++ cmake ../.. -DCMAKE_CXX_FLAGS="-std=c++17" -DCMAKE_BUILD_TYPE=Debug
51+
- name: Build
52+
run: |
53+
cd $BUILD_SUB_DIR
54+
make -j$CPU_CORE_NUM VERBOSE=1
55+
- name: Test
56+
run: |
57+
cd $BUILD_SUB_DIR
58+
ctest -VV
59+
60+
build_gcc_release:
61+
name: Build on Linux with GCC (Release)
62+
runs-on: ubuntu-latest
63+
env:
64+
BUILD_SUB_DIR: build/gcc-release
65+
steps:
66+
- uses: actions/checkout@v2
67+
- name: Install Dependencies
68+
run: |
69+
# Update the package list
70+
sudo apt update
71+
72+
mkdir -p $BUILD_SUB_DIR
73+
cd $BUILD_SUB_DIR
74+
# 1. Install cmake
75+
sudo snap install cmake --classic
76+
export PATH=/snap/bin:$PATH
77+
# 2. Install clang
78+
sudo apt remove -y --autoremove gcc-7
79+
sudo apt install -y g++-8
80+
sudo ln -s gcc-8 /usr/bin/gcc
81+
sudo ln -s g++-8 /usr/bin/g++
82+
# 3. Install googletest
83+
sudo apt install -y googletest
84+
mkdir -p googletest
85+
cd googletest
86+
env CC=gcc CXX=g++ cmake /usr/src/googletest/
87+
make -j$CPU_CORE_NUM && sudo make install
88+
cd ../
89+
# 4. Install boost lib
90+
sudo apt install -y libboost-all-dev
91+
# 5. Install librdkafka
92+
wget https://github.com/edenhill/librdkafka/archive/v1.4.2.tar.gz
93+
tar -xvzf v1.4.2.tar.gz
94+
cd librdkafka-1.4.2
95+
./configure
96+
make -j$CPU_CORE_NUM && sudo make install
97+
cd ../
98+
- name: Config
99+
run: |
100+
cd $BUILD_SUB_DIR
101+
env CC=gcc CXX=g++ cmake ../.. -DCMAKE_CXX_FLAGS="-std=c++17" -DCMAKE_BUILD_TYPE=Release
102+
- name: Build
103+
run: |
104+
cd $BUILD_SUB_DIR
105+
make -j$CPU_CORE_NUM VERBOSE=1
106+
- name: Test
107+
run: |
108+
cd $BUILD_SUB_DIR
109+
ctest -VV
110+
111+
112+
build_gcc_cxx14:
113+
name: Build on Linux with GCC (C++14)
13114
runs-on: ubuntu-latest
14115
env:
15116
BUILD_SUB_DIR: build/gcc
@@ -49,11 +150,11 @@ jobs:
49150
- name: Config
50151
run: |
51152
cd $BUILD_SUB_DIR
52-
env CC=gcc CXX=g++ cmake ../.. -DCMAKE_CXX_FLAGS="-std=c++17"
153+
env CC=gcc CXX=g++ cmake ../.. -DCMAKE_CXX_FLAGS="-std=c++14" -DCMAKE_BUILD_TYPE=Release
53154
- name: Build
54155
run: |
55156
cd $BUILD_SUB_DIR
56-
make VERBOSE=1
157+
make -j$CPU_CORE_NUM VERBOSE=1
57158
- name: Test
58159
run: |
59160
cd $BUILD_SUB_DIR
@@ -86,7 +187,7 @@ jobs:
86187
mkdir -p googletest
87188
cd googletest
88189
env CC=gcc CXX=g++ cmake /usr/src/googletest/
89-
make && sudo make install
190+
make -j$CPU_CORE_NUM && sudo make install
90191
cd ../
91192
# 4. Install boost lib
92193
sudo apt install -y libboost-all-dev
@@ -95,7 +196,7 @@ jobs:
95196
tar -xvzf v1.4.2.tar.gz
96197
cd librdkafka-1.4.2
97198
./configure
98-
make && sudo make install
199+
make -j$CPU_CORE_NUM && sudo make install
99200
cd ../
100201
- name: Config
101202
run: |
@@ -104,7 +205,7 @@ jobs:
104205
- name: Build
105206
run: |
106207
cd $BUILD_SUB_DIR
107-
make VERBOSE=1
208+
make -j$CPU_CORE_NUM VERBOSE=1
108209
- name: Test
109210
run: |
110211
cd $BUILD_SUB_DIR
@@ -136,7 +237,7 @@ jobs:
136237
mkdir -p googletest
137238
cd googletest
138239
env CC=gcc CXX=g++ cmake /usr/src/googletest/
139-
make && sudo make install
240+
make -j$CPU_CORE_NUM && sudo make install
140241
cd ../
141242
# 4. Install boost lib
142243
sudo apt install -y libboost-all-dev
@@ -145,7 +246,7 @@ jobs:
145246
tar -xvzf v1.4.2.tar.gz
146247
cd librdkafka-1.4.2
147248
./configure
148-
make && sudo make install
249+
make -j$CPU_CORE_NUM && sudo make install
149250
cd ../
150251
- name: Config
151252
run: |
@@ -154,7 +255,7 @@ jobs:
154255
- name: Build
155256
run: |
156257
cd $BUILD_SUB_DIR
157-
make VERBOSE=1
258+
make -j$CPU_CORE_NUM VERBOSE=1
158259
- name: Test
159260
run: |
160261
cd $BUILD_SUB_DIR
@@ -187,7 +288,7 @@ jobs:
187288
mkdir -p googletest
188289
cd googletest
189290
env CC=gcc CXX=g++ cmake /usr/src/googletest/
190-
make && sudo make install
291+
make -j$CPU_CORE_NUM && sudo make install
191292
cd ../
192293
# 4. Install boost lib
193294
sudo apt install -y libboost-all-dev
@@ -196,7 +297,7 @@ jobs:
196297
tar -xvzf v1.4.2.tar.gz
197298
cd librdkafka-1.4.2
198299
./configure
199-
make && sudo make install
300+
make -j$CPU_CORE_NUM && sudo make install
200301
cd ../
201302
- name: Config
202303
run: |
@@ -205,7 +306,7 @@ jobs:
205306
- name: Build
206307
run: |
207308
cd $BUILD_SUB_DIR
208-
make VERBOSE=1
309+
make -j$CPU_CORE_NUM VERBOSE=1
209310
- name: Test
210311
run: |
211312
cd $BUILD_SUB_DIR
@@ -238,7 +339,7 @@ jobs:
238339
mkdir -p googletest
239340
cd googletest
240341
cmake /usr/src/googletest/
241-
make && sudo make install
342+
make -j$CPU_CORE_NUM && sudo make install
242343
cd ../
243344
# 4. Install boost lib
244345
sudo apt install -y libboost-all-dev
@@ -247,7 +348,7 @@ jobs:
247348
tar -xvzf v1.4.2.tar.gz
248349
cd librdkafka-1.4.2
249350
./configure
250-
make && sudo make install
351+
make -j$CPU_CORE_NUM && sudo make install
251352
cd ../
252353
- name: Config
253354
run: |
@@ -256,7 +357,7 @@ jobs:
256357
- name: Build
257358
run: |
258359
cd $BUILD_SUB_DIR
259-
make VERBOSE=1
360+
make -j$CPU_CORE_NUM VERBOSE=1
260361
- name: Test
261362
run: |
262363
cd $BUILD_SUB_DIR
@@ -291,7 +392,7 @@ jobs:
291392
mkdir -p googletest
292393
cd googletest
293394
env CC=clang CXX=clang++ cmake /usr/src/googletest/
294-
make && sudo make install
395+
make -j$CPU_CORE_NUM && sudo make install
295396
cd ../
296397
# 4. Install boost lib
297398
sudo apt install -y libboost-all-dev
@@ -300,7 +401,7 @@ jobs:
300401
tar -xvzf v1.4.2.tar.gz
301402
cd librdkafka-1.4.2
302403
./configure
303-
make && sudo make install
404+
make -j$CPU_CORE_NUM && sudo make install
304405
cd ../
305406
- name: Config
306407
run: |
@@ -309,7 +410,7 @@ jobs:
309410
- name: Build
310411
run: |
311412
cd $BUILD_SUB_DIR
312-
make VERBOSE=1
413+
make -j$CPU_CORE_NUM VERBOSE=1
313414
- name: Test
314415
run: |
315416
cd $BUILD_SUB_DIR

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ include(CMakePushCheckState)
1313
set(CMAKE_CXX_STARNDARD 17)
1414
set(CMAKE_CXX_STARNDARD_REQUIRED False)
1515

16-
add_compile_options("-Wall" "-Werror" "-Wextra" "-Wshadow")
16+
add_compile_options("-Wall" "-Werror" "-Wextra" "-Wshadow" "-Wno-unused-result")
1717

1818
#---------------------------
1919
# Check librdkafka directory

tests/unit/TestConsumerRecord.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ inline rd_kafka_message_t* mockRdKafkaMessage(Kafka::Partition partition, Kafka:
2121
std::memset(msgBuf, 0, msgSize);
2222

2323
char *keyBuf = msgBuf + sizeof(rd_kafka_message_t) + MSG_PRIVATE_LEN;
24-
std::snprintf(keyBuf, key.size() + 1, "%s", key.c_str());
24+
std::memcpy(keyBuf, key.c_str(), key.size() + 1);
2525
rkMsg->key = keyBuf;
2626
rkMsg->key_len = key.size();
2727

2828
char *payloadBuf = keyBuf + key.size() + 1;
29-
std::snprintf(payloadBuf, value.size() + 1, "%s", value.c_str());
29+
std::memcpy(payloadBuf, value.c_str(), value.size() + 1);
3030
rkMsg->payload = payloadBuf;
3131
rkMsg->len = value.size();
3232

0 commit comments

Comments
 (0)