Skip to content

Commit 4108a5d

Browse files
authored
Merge pull request #505 from gummif/gfa/actions-windows
CI action for windows
2 parents 62f6c5c + 27b7da3 commit 4108a5d

File tree

1 file changed

+51
-17
lines changed

1 file changed

+51
-17
lines changed

.github/workflows/linux.yml renamed to .github/workflows/ci.yml

Lines changed: 51 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
name: Linux
1+
name: CI
22

33
on: [push, pull_request]
44

5+
defaults:
6+
run:
7+
shell: bash
8+
59
jobs:
610
tests:
711
runs-on: ${{ matrix.os }}
@@ -14,6 +18,7 @@ jobs:
1418
drafts: ["ON"]
1519
libzmq: ["4.3.4"]
1620
libzmqbuild: ["cmake"]
21+
platform: [""]
1722
include:
1823
# older libzmq and gcc without draft
1924
- os: "ubuntu-18.04"
@@ -57,14 +62,30 @@ jobs:
5762
drafts: "ON"
5863
libzmq: "4.3.4"
5964
libzmqbuild: "cmake"
65+
# windows
66+
- os: "windows-2016"
67+
cppstd: "14"
68+
cc: "msbuild"
69+
cxx: "msbuild"
70+
drafts: "ON"
71+
libzmq: "4.3.4"
72+
libzmqbuild: "cmake"
73+
platform: "-Ax64"
74+
- os: "windows-latest"
75+
cppstd: "20"
76+
cc: "msbuild"
77+
cxx: "msbuild"
78+
drafts: "ON"
79+
libzmq: "4.3.4"
80+
libzmqbuild: "cmake"
81+
platform: "-Ax64"
6082

6183
env:
6284
CC: ${{ matrix.cc }}
6385
CXX: ${{ matrix.cxx }}
6486
VERBOSE: 1
6587
THREADS: 2
66-
LIBZMQ: /tmp/libzmq-build
67-
CPPZMQ: /tmp/cppzmq-build
88+
BUILDTYPE: "Debug"
6889
COVERAGE: "OFF" # TODO
6990

7091
steps:
@@ -83,40 +104,53 @@ jobs:
83104
- name: build_libzmq_cmake
84105
if: ${{ matrix.libzmqbuild == 'cmake' }}
85106
run: |
86-
cmake -Hlibzmq-${{ matrix.libzmq }} -B${LIBZMQ} \
107+
cmake -Hlibzmq-${{ matrix.libzmq }} -Blibzmq-build ${{ matrix.platform}} \
87108
-DWITH_PERF_TOOL=OFF \
88109
-DZMQ_BUILD_TESTS=OFF \
89110
-DCMAKE_BUILD_TYPE=Release \
90111
-DENABLE_DRAFTS=${{ matrix.drafts }}
91-
cmake --build ${LIBZMQ} -- -j${THREADS}
112+
cmake --build libzmq-build --config ${BUILDTYPE} -j ${THREADS}
113+
echo "LIBZMQ=${PWD}/libzmq-build" >> ${GITHUB_ENV}
92114
93115
- name: build_libzmq_pkgconfig
94116
if: ${{ matrix.libzmqbuild == 'pkgconfig' }}
95117
working-directory: libzmq-${{ matrix.libzmq }}
96118
run: |
97119
./autogen.sh &&
98-
./configure --prefix=${LIBZMQ} &&
99-
make -j${THREADS}
120+
./configure --prefix=${PWD}/libzmq-build &&
121+
make -j ${THREADS}
100122
make install
123+
echo "LIBZMQ=${PWD}/libzmq-build" >> ${GITHUB_ENV}
101124
102125
- name: build
103126
env:
104127
CMAKE_PREFIX_PATH: ${{ env.LIBZMQ }}
105128
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}
129+
cmake -H. -Bbuild ${{ matrix.platform}} \
130+
-DCMAKE_BUILD_TYPE=${BUILDTYPE} \
131+
-DENABLE_DRAFTS=${{ matrix.drafts }} \
132+
-DCOVERAGE=${COVERAGE} \
133+
-DCMAKE_CXX_STANDARD=${{ matrix.cppstd }}
134+
cmake --build build --config ${BUILDTYPE} -j ${THREADS}
135+
echo "CPPZMQ=${PWD}/build" >> ${GITHUB_ENV}
110136
111137
- name: test
112-
working-directory: ${{ env.CPPZMQ }}
113-
run: ctest -V -j${THREADS}
138+
# for unknown reason no tests are found and run on windows
139+
# could be something to do with catch_discover_tests not working?
140+
run: |
141+
cd ${{ env.CPPZMQ }}
142+
ctest -V -C ${BUILDTYPE}
114143
115144
- name: demo
145+
# probably need to install libzmq and cppzmq for this to work on windows
146+
if: ${{ matrix.os == 'ubuntu*' }}
116147
env:
117148
CMAKE_PREFIX_PATH: ${{ env.LIBZMQ }}:${{ env.CPPZMQ }}
118149
run: |
119-
cmake -Hdemo -Bdemo/build
120-
cmake --build demo/build
121-
cd demo/build
122-
ctest -V
150+
cd demo
151+
cmake -H. -Bbuild ${{ matrix.platform}} \
152+
-DCMAKE_BUILD_TYPE=${BUILDTYPE} \
153+
-DCMAKE_CXX_STANDARD=${{ matrix.cppstd }}
154+
cmake --build build --config ${BUILDTYPE}
155+
cd build
156+
ctest -V -C ${BUILDTYPE}

0 commit comments

Comments
 (0)