@@ -3,13 +3,114 @@ name: On Pull Request
33on : [pull_request]
44
55env :
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
108jobs :
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
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
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
0 commit comments