1
- name : Linux
1
+ name : CI
2
2
3
3
on : [push, pull_request]
4
4
5
+ defaults :
6
+ run :
7
+ shell : bash
8
+
5
9
jobs :
6
10
tests :
7
11
runs-on : ${{ matrix.os }}
14
18
drafts : ["ON"]
15
19
libzmq : ["4.3.4"]
16
20
libzmqbuild : ["cmake"]
21
+ platform : [""]
22
+ makeargs : ["-j2"]
17
23
include :
18
24
# older libzmq and gcc without draft
19
25
- os : " ubuntu-18.04"
@@ -57,14 +63,34 @@ jobs:
57
63
drafts : " ON"
58
64
libzmq : " 4.3.4"
59
65
libzmqbuild : " cmake"
66
+ # windows
67
+ - os : " windows-2016"
68
+ cppstd : " 14"
69
+ cc : " msbuild"
70
+ cxx : " msbuild"
71
+ drafts : " ON"
72
+ libzmq : " 4.3.4"
73
+ libzmqbuild : " cmake"
74
+ platform : " -Ax64"
75
+ makeargs : " "
76
+ - os : " windows-latest"
77
+ cppstd : " 20"
78
+ cc : " msbuild"
79
+ cxx : " msbuild"
80
+ drafts : " ON"
81
+ libzmq : " 4.3.4"
82
+ libzmqbuild : " cmake"
83
+ platform : " -Ax64"
84
+ makeargs : " "
60
85
61
86
env :
62
87
CC : ${{ matrix.cc }}
63
88
CXX : ${{ matrix.cxx }}
64
89
VERBOSE : 1
65
90
THREADS : 2
66
- LIBZMQ : /tmp/libzmq-build
67
- CPPZMQ : /tmp/cppzmq-build
91
+ LIBZMQ : ${{ env.GITHUB_WORKSPACE }}/libzmq-build
92
+ CPPZMQ : ${{ env.GITHUB_WORKSPACE }}/cppzmq-build
93
+ BUILDTYPE : " Debug"
68
94
COVERAGE : " OFF" # TODO
69
95
70
96
steps :
@@ -83,34 +109,36 @@ jobs:
83
109
- name : build_libzmq_cmake
84
110
if : ${{ matrix.libzmqbuild == 'cmake' }}
85
111
run : |
86
- cmake -Hlibzmq-${{ matrix.libzmq }} -B${LIBZMQ} \
112
+ cmake -Hlibzmq-${{ matrix.libzmq }} -B${LIBZMQ} ${{ matrix.platform}} \
87
113
-DWITH_PERF_TOOL=OFF \
88
114
-DZMQ_BUILD_TESTS=OFF \
89
115
-DCMAKE_BUILD_TYPE=Release \
90
116
-DENABLE_DRAFTS=${{ matrix.drafts }}
91
- cmake --build ${LIBZMQ} -- -j${THREADS }
117
+ cmake --build ${LIBZMQ} -- ${{ matrix.makeargs } }
92
118
93
119
- name : build_libzmq_pkgconfig
94
120
if : ${{ matrix.libzmqbuild == 'pkgconfig' }}
95
121
working-directory : libzmq-${{ matrix.libzmq }}
96
122
run : |
97
123
./autogen.sh &&
98
124
./configure --prefix=${LIBZMQ} &&
99
- make -j${THREADS }
125
+ make ${{ matrix.makeargs } }
100
126
make install
101
127
102
128
- name : build
103
129
env :
104
130
CMAKE_PREFIX_PATH : ${{ env.LIBZMQ }}
105
131
run : |
106
- cmake -H. -B${CPPZMQ} -DENABLE_DRAFTS=${{ matrix.drafts }} \
107
- -DCOVERAGE=${COVERAGE} \
108
- -DCMAKE_CXX_STANDARD=${{ matrix.cppstd }}
109
- cmake --build ${CPPZMQ} -- -j${THREADS}
132
+ cmake -H. -B${CPPZMQ} ${{ matrix.platform}} \
133
+ -DCMAKE_BUILD_TYPE=${BUILDTYPE} \
134
+ -DENABLE_DRAFTS=${{ matrix.drafts }} \
135
+ -DCOVERAGE=${COVERAGE} \
136
+ -DCMAKE_CXX_STANDARD=${{ matrix.cppstd }}
137
+ cmake --build ${CPPZMQ} -- ${{ matrix.makeargs }}
110
138
111
139
- name : test
112
140
working-directory : ${{ env.CPPZMQ }}
113
- run : ctest -V -j${THREADS }
141
+ run : ctest -V -C ${BUILDTYPE }
114
142
115
143
- name : demo
116
144
env :
@@ -119,4 +147,4 @@ jobs:
119
147
cmake -Hdemo -Bdemo/build
120
148
cmake --build demo/build
121
149
cd demo/build
122
- ctest -V
150
+ ctest -V -C ${BUILDTYPE}
0 commit comments