Skip to content

Commit 142c9d6

Browse files
authored
Merge pull request #503 from gummif/gfa/actions4
Move build script into workflow yml
2 parents 0289c1d + 1f5a57d commit 142c9d6

File tree

1 file changed

+59
-11
lines changed

1 file changed

+59
-11
lines changed

.github/workflows/linux.yml

Lines changed: 59 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,37 +15,85 @@ jobs:
1515
libzmq: ["4.3.4"]
1616
libzmqbuild: ["cmake"]
1717
include:
18+
# older libzmq and gcc without draft
1819
- os: "ubuntu-18.04"
19-
cppstd: 11
20+
cppstd: "11"
2021
cc: "gcc-7"
2122
cxx: "g++-7"
2223
drafts: "OFF"
2324
libzmq: "4.2.0"
2425
libzmqbuild: "pkgconfig"
26+
# without draft
2527
- os: "ubuntu-latest"
26-
cppstd: 20
28+
cppstd: "20"
2729
cc: "gcc-10"
2830
cxx: "g++-10"
2931
drafts: "OFF"
3032
libzmq: "4.3.4"
3133
libzmqbuild: "cmake"
34+
# clang
3235
- os: "ubuntu-latest"
33-
cppstd: 17
36+
cppstd: "17"
3437
cc: "clang-12"
3538
cxx: "clang++-12"
3639
drafts: "ON"
3740
libzmq: "4.3.4"
3841
libzmqbuild: "cmake"
3942

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+
4052
steps:
4153
- 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+
4279
- name: build
43-
run: ./ci_build.sh
4480
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

Comments
 (0)