@@ -15,37 +15,85 @@ jobs:
15
15
libzmq : ["4.3.4"]
16
16
libzmqbuild : ["cmake"]
17
17
include :
18
+ # older libzmq and gcc without draft
18
19
- os : " ubuntu-18.04"
19
- cppstd : 11
20
+ cppstd : " 11 "
20
21
cc : " gcc-7"
21
22
cxx : " g++-7"
22
23
drafts : " OFF"
23
24
libzmq : " 4.2.0"
24
25
libzmqbuild : " pkgconfig"
26
+ # without draft
25
27
- os : " ubuntu-latest"
26
- cppstd : 20
28
+ cppstd : " 20 "
27
29
cc : " gcc-10"
28
30
cxx : " g++-10"
29
31
drafts : " OFF"
30
32
libzmq : " 4.3.4"
31
33
libzmqbuild : " cmake"
34
+ # clang
32
35
- os : " ubuntu-latest"
33
- cppstd : 17
36
+ cppstd : " 17 "
34
37
cc : " clang-12"
35
38
cxx : " clang++-12"
36
39
drafts : " ON"
37
40
libzmq : " 4.3.4"
38
41
libzmqbuild : " cmake"
39
42
43
+ env :
44
+ CC : ${{ matrix.cc }}
45
+ CXX : ${{ matrix.cxx }}
46
+ VERBOSE : 1
47
+ THREADS : 2
48
+ LIBZMQ : /tmp/libzmq-build
49
+ CPPZMQ : /tmp/cppzmq-build
50
+ COVERAGE : " OFF" # TODO
51
+
40
52
steps :
41
53
- uses : actions/checkout@v2
54
+ - name : get_libzmq
55
+ run : |
56
+ curl -L https://github.com/zeromq/libzmq/archive/v${{ matrix.libzmq }}.tar.gz \
57
+ >zeromq.tar.gz
58
+ tar -xvzf zeromq.tar.gz
59
+
60
+ - name : build_libzmq_cmake
61
+ if : ${{ matrix.libzmqbuild == 'cmake' }}
62
+ run : |
63
+ cmake -Hlibzmq-${{ matrix.libzmq }} -B${LIBZMQ} \
64
+ -DWITH_PERF_TOOL=OFF \
65
+ -DZMQ_BUILD_TESTS=OFF \
66
+ -DCMAKE_BUILD_TYPE=Release \
67
+ -DENABLE_DRAFTS=${{ matrix.drafts }}
68
+ cmake --build ${LIBZMQ} -- -j${THREADS}
69
+
70
+ - name : build_libzmq_pkgconfig
71
+ if : ${{ matrix.libzmqbuild == 'pkgconfig' }}
72
+ working-directory : libzmq-${{ matrix.libzmq }}
73
+ run : |
74
+ ./autogen.sh &&
75
+ ./configure --prefix=${LIBZMQ} &&
76
+ make -j${THREADS}
77
+ make install
78
+
42
79
- name : build
43
- run : ./ci_build.sh
44
80
env :
45
- CC : ${{ matrix.cc }}
46
- CXX : ${{ matrix.cxx }}
47
- CMAKE_CPP_STD : -DCMAKE_CXX_STANDARD=${{ matrix.cppstd }}
48
- ENABLE_DRAFTS : ${{ matrix.drafts }}
49
- ZMQ_VERSION : ${{ matrix.libzmq }}
50
- BUILD_TYPE : ${{ matrix.libzmqbuild }}
51
- VERBOSE : 1
81
+ CMAKE_PREFIX_PATH : ${{ env.LIBZMQ }}
82
+ run : |
83
+ cmake -H. -B${CPPZMQ} -DENABLE_DRAFTS=${{ matrix.drafts }} \
84
+ -DCOVERAGE=${COVERAGE} \
85
+ -DCMAKE_CXX_STANDARD=${{ matrix.cppstd }}
86
+ cmake --build ${CPPZMQ} -- -j${THREADS}
87
+
88
+ - name : test
89
+ working-directory : ${{ env.CPPZMQ }}
90
+ run : ctest -V -j${THREADS}
91
+
92
+ - name : demo
93
+ env :
94
+ CMAKE_PREFIX_PATH : ${{ env.LIBZMQ }}:${{ env.CPPZMQ }}
95
+ run : |
96
+ cmake -Hdemo -Bdemo/build
97
+ cmake --build demo/build
98
+ cd demo/build
99
+ ctest -V
0 commit comments