Skip to content

Commit d8bd1e1

Browse files
authored
Merge pull request #553 from redboltz/fix_550
Migrated to github actions from travis-ci.
2 parents e366a1b + 046a494 commit d8bd1e1

File tree

4 files changed

+195
-100
lines changed

4 files changed

+195
-100
lines changed

.github/workflows/gha.yml

+188
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- master
8+
tags:
9+
- '*'
10+
11+
jobs:
12+
macos:
13+
runs-on: macos-latest
14+
strategy:
15+
matrix:
16+
pattern: [0, 1, 2, 3, 4]
17+
steps:
18+
- uses: actions/checkout@v1
19+
- name: install boost
20+
run: |
21+
brew install boost
22+
- name: install openssl
23+
if: matrix.os == 'macos-latest'
24+
run: |
25+
brew install openssl
26+
- name: cmake
27+
env:
28+
OPENSSL_ROOT_DIR: /usr/local/opt/openssl
29+
CXX: clang++
30+
shell: bash
31+
run: |
32+
if [ ${{ matrix.pattern }} == 0 ]; then
33+
FLAGS="-DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=ON -DMQTT_TEST_4=OFF -DMQTT_TEST_5=ON -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_USE_TLS=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON";
34+
fi
35+
if [ ${{ matrix.pattern }} == 1 ]; then
36+
FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=ON -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT_USE_TLS=ON -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON";
37+
fi
38+
if [ ${{ matrix.pattern }} == 2 ]; then
39+
FLAGS="-DMQTT_TEST_1=ON -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_USE_TLS=ON -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON";
40+
fi
41+
if [ ${{ matrix.pattern }} == 3 ]; then
42+
FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=ON -DMQTT_TEST_3=ON -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_USE_TLS=ON -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=OFF -DMQTT_USE_STR_CHECK=ON";
43+
fi
44+
if [ ${{ matrix.pattern }} == 4 ]; then
45+
FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=ON -DMQTT_TEST_7=ON -DMQTT_USE_TLS=ON -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=OFF -DMQTT_USE_STR_CHECK=ON";
46+
fi
47+
mkdir build
48+
cd build
49+
cmake ${FLAGS} ..
50+
- name: make check_deps
51+
run: |
52+
cd build
53+
make check_deps
54+
- name: make
55+
shell: bash
56+
run: |
57+
if [ ${{ matrix.pattern }} == 0 ]; then
58+
CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -DBOOST_ASIO_NO_DEPRECATED";
59+
fi
60+
if [ ${{ matrix.pattern }} == 1 ]; then
61+
CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion";
62+
fi
63+
if [ ${{ matrix.pattern }} == 2 ]; then
64+
CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -DBOOST_ASIO_NO_DEPRECATED";
65+
fi
66+
if [ ${{ matrix.pattern }} == 3 ]; then
67+
CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion";
68+
fi
69+
if [ ${{ matrix.pattern }} == 4 ]; then
70+
CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion";
71+
fi
72+
CXXFLAGS="${CXXFLAGS} -pedantic -DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION -DBOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING"
73+
cd build
74+
make -j2 VERBOSE=1
75+
- name: ctest
76+
run: |
77+
cd build
78+
ctest -VV
79+
linux:
80+
runs-on: ubuntu-latest
81+
strategy:
82+
matrix:
83+
pattern: [0, 1, 2, 3, 4, 5, 6, 7]
84+
steps:
85+
- uses: actions/checkout@v1
86+
- name: install boost
87+
run: |
88+
sudo add-apt-repository ppa:mhier/libboost-latest
89+
sudo apt-get update
90+
sudo apt-get install boost1.67
91+
- name: cmake
92+
shell: bash
93+
run: |
94+
if [ ${{ matrix.pattern }} == 0 ]; then
95+
FLAGS="-DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_USE_TLS=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON";
96+
CXX=clang++;
97+
fi
98+
if [ ${{ matrix.pattern }} == 1 ]; then
99+
FLAGS="-DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=ON -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_USE_TLS=ON -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=OFF -DMQTT_STD_OPTIONAL=OFF -DMQTT_STD_VARIANT=OFF -DMQTT_STD_STRING_VIEW=OFF";
100+
CXX=clang++;
101+
fi
102+
if [ ${{ matrix.pattern }} == 2 ]; then
103+
FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=ON -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT_USE_TLS=ON -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON";
104+
CXX=clang++;
105+
fi
106+
if [ ${{ matrix.pattern }} == 3 ]; then
107+
FLAGS="-DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=ON -DMQTT_USE_TLS=ON -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON";
108+
CXX=clang++;
109+
fi
110+
if [ ${{ matrix.pattern }} == 4 ]; then
111+
FLAGS="-DMQTT_CODECOV=ON -DMQTT_TEST_1=ON -DMQTT_TEST_2=ON -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON -DMQTT_STD_SHARED_PTR_ARRAY=ON";
112+
CXX=g++;
113+
fi
114+
if [ ${{ matrix.pattern }} == 5 ]; then
115+
FLAGS="-DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=ON -DMQTT_TEST_4=ON -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=OFF -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_USE_TLS=OFF -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON";
116+
CXX=g++;
117+
fi
118+
if [ ${{ matrix.pattern }} == 6 ]; then
119+
FLAGS="-DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=ON -DMQTT_TEST_6=ON -DMQTT_TEST_7=OFF -DMQTT-DMQTT_BUILD_EXAMPLES=OFF _NO_TLS=ON -DMQTT_USE_WS=ON -DMQTT_USE_STR_CHECK=ON -DMQTT_STD_ANY=ON -DMQTT_STD_OPTIONAL=ON -DMQTT_STD_VARIANT=ON -DMQTT_STD_STRING_VIEW=ON";
120+
CXX=g++;
121+
fi
122+
if [ ${{ matrix.pattern }} == 7 ]; then
123+
FLAGS="-DMQTT_CODECOV=ON -DMQTT_TEST_1=OFF -DMQTT_TEST_2=OFF -DMQTT_TEST_3=OFF -DMQTT_TEST_4=OFF -DMQTT_TEST_5=OFF -DMQTT_TEST_6=OFF -DMQTT_TEST_7=ON -DMQTT_BUILD_EXAMPLES=ON -DMQTT_USE_TLS=ON -DMQTT_USE_WS=OFF -DMQTT_USE_STR_CHECK=OFF";
124+
CXX=g++;
125+
fi
126+
127+
mkdir build
128+
cd build
129+
cmake ${FLAGS} ..
130+
- name: make check_deps
131+
run: |
132+
cd build
133+
make check_deps
134+
- name: make
135+
shell: bash
136+
run: |
137+
if [ ${{ matrix.pattern }} == 0 ]; then
138+
CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion";
139+
fi
140+
if [ ${{ matrix.pattern }} == 1 ]; then
141+
CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer";
142+
CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer";
143+
LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address";
144+
fi
145+
if [ ${{ matrix.pattern }} == 2 ]; then
146+
CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer";
147+
CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer";
148+
LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address";
149+
fi
150+
if [ ${{ matrix.pattern }} == 3 ]; then
151+
CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -fsanitize=address -fno-omit-frame-pointer";
152+
CFLAGS="-Werror -g -Wall -Wextra -Wno-ignored-qualifiers -fsanitize=address -fno-omit-frame-pointer";
153+
LDFLAGS="-Wno-ignored-qualifiers -fsanitize=address";
154+
fi
155+
if [ ${{ matrix.pattern }} == 4 ]; then
156+
CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion";
157+
fi
158+
if [ ${{ matrix.pattern }} == 5 ]; then
159+
CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -DBOOST_ASIO_NO_DEPRECATED";
160+
fi
161+
if [ ${{ matrix.pattern }} == 6 ]; then
162+
CXXFLAGS="-std=c++17 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion";
163+
fi
164+
if [ ${{ matrix.pattern }} == 7 ]; then
165+
CXXFLAGS="-std=c++14 -Werror -g -Wall -Wextra -Wno-ignored-qualifiers -Wconversion -DBOOST_ASIO_NO_DEPRECATED";
166+
fi
167+
168+
CXXFLAGS="${CXXFLAGS} -pedantic -DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION -DBOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING"
169+
170+
cd build
171+
make -j2 VERBOSE=1
172+
- name: ctest
173+
run: |
174+
cd build
175+
ctest -VV
176+
- name: codecov
177+
env:
178+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
179+
run: |
180+
if [ ${{ matrix.pattern }} == 4 ] || [ ${{ matrix.pattern }} == 5 ] || [ ${{ matrix.pattern }} == 6 ] || [ ${{ matrix.pattern }} == 7 ]; then
181+
sudo apt-get install lcov
182+
# Create lcov report
183+
lcov --capture --directory . --output-file coverage.info
184+
lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter system-files
185+
lcov --list coverage.info # debug info
186+
# Uploading report to CodeCov
187+
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov did not collect coverage reports"
188+
fi

.travis.yml

-98
This file was deleted.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# MQTT client/server for C++14 based on Boost.Asio
22

3-
Version 8.0.0 [![Build Status](https://travis-ci.org/redboltz/mqtt_cpp.svg?branch=master)](https://travis-ci.org/redboltz/mqtt_cpp)[![Build Status](https://dev.azure.com/redboltz/redboltz/_apis/build/status/redboltz.mqtt_cpp?branchName=master)](https://dev.azure.com/redboltz/redboltz/_build/latest?definitionId=6&branchName=master)[![codecov](https://codecov.io/gh/redboltz/mqtt_cpp/branch/master/graph/badge.svg)](https://codecov.io/gh/redboltz/mqtt_cpp)
3+
Version 8.0.0 [![Actions Status](https://github.com/redboltz/mqtt_cpp/workflows/CI/badge.svg)](https://github.com/redboltz/mqtt_cpp/actions)[![Build Status](https://dev.azure.com/redboltz/redboltz/_apis/build/status/redboltz.mqtt_cpp?branchName=master)](https://dev.azure.com/redboltz/redboltz/_build/latest?definitionId=6&branchName=master)[![codecov](https://codecov.io/gh/redboltz/mqtt_cpp/branch/master/graph/badge.svg)](https://codecov.io/gh/redboltz/mqtt_cpp)
44

55
Important note https://github.com/redboltz/mqtt_cpp/wiki/News.
66

azure-pipelines.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@
33
# https://aka.ms/yaml
44

55
trigger:
6-
- '*'
6+
tags:
7+
include:
8+
- '*'
9+
branches:
10+
include:
11+
- master
712
pr:
813
- '*'
914

0 commit comments

Comments
 (0)