1212
1313jobs :
1414 build :
15- name : ${{ matrix.config.name }}
15+ name : ${{ matrix.config.name }}-${{ matrix.config.library_mode }}-${{ matrix.config.boost }}
1616 runs-on : ${{ matrix.config.os }}
1717 strategy :
1818 fail-fast : false
1919 matrix :
2020 boost : [0, 1]
21- header_only : [0, 1 ]
21+ library_mode : [LIBRARY, HEADER_ONLY, MODULE ]
2222 config :
2323 - {
24- name : " Windows ( MSVC) " ,
24+ name : " MSVC x86_64 " ,
2525 os : windows-latest,
2626 generator : " " ,
27- cmakeflags : " -DLIBREMIDI_NO_WINUWP=0 -DBOOST_ROOT=$PWD/boost_1_86_0 " ,
27+ cmakeflags : " -DLIBREMIDI_NO_WINUWP=0 -DBOOST_ROOT=$PWD/boost_1_90_0 " ,
2828 test_target : " RUN_TESTS" ,
2929 tests : 1,
3030 examples : 1
3131 }
3232 - {
33- name : " Windows ( MSVC, arm64) " ,
33+ name : " MSVC arm64" ,
3434 os : windows-11-arm,
3535 generator : " " ,
36- cmakeflags : " -DLIBREMIDI_NO_WINUWP=0 -DBOOST_ROOT=$PWD/boost_1_86_0 " ,
36+ cmakeflags : " -DLIBREMIDI_NO_WINUWP=0 -DBOOST_ROOT=$PWD/boost_1_90_0 " ,
3737 test_target : " RUN_TESTS" ,
3838 tests : 1,
3939 examples : 1
4040 }
4141 - {
42- name : " Ubuntu ( gcc) " ,
42+ name : " Ubuntu gcc" ,
4343 os : ubuntu-latest,
4444 generator : " " ,
4545 cmakeflags : " -DCMAKE_CXX_FLAGS='-Werror=return-type -fsanitize=address -fsanitize=undefined -D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1 -D_GLIBCXX_ASSERTIONS=1 -D_GLIBCXX_SANITIZE_VECTOR=1'" ,
4848 examples : 1
4949 }
5050 - {
51- name : " Ubuntu ( clang-18, libstdc++) " ,
51+ name : " Ubuntu clang-18 libstdc++" ,
5252 os : ubuntu-latest,
5353 generator : " " ,
5454 cmakeflags : " -DCMAKE_CXX_COMPILER=clang++-18 -DCMAKE_CXX_FLAGS='-Werror=return-type -fsanitize=address -fsanitize=undefined'" ,
5757 examples : 1
5858 }
5959 - {
60- name : " Ubuntu ( clang, libc++) " ,
60+ name : " Ubuntu clang libc++" ,
6161 os : ubuntu-latest,
6262 generator : " " ,
6363 cmakeflags : " -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS='-stdlib=libc++ -Werror=return-type'" ,
@@ -76,18 +76,18 @@ jobs:
7676 }
7777 - {
7878 name : " macOS" ,
79- os : macos-14 ,
79+ os : macos-latest ,
8080 generator : " " ,
81- cmakeflags : " -DCMAKE_CXX_FLAGS=-Werror=return-type -DBOOST_ROOT=$PWD/boost_1_86_0 " ,
81+ cmakeflags : " -DCMAKE_CXX_FLAGS=-Werror=return-type -DBOOST_ROOT=$PWD/boost_1_90_0 " ,
8282 test_target : " test" ,
8383 tests : 1,
8484 examples : 1
8585 }
8686 - {
8787 name : " iOS" ,
88- os : macos-14 ,
88+ os : macos-latest ,
8989 generator : " -GXcode" ,
90- cmakeflags : " -DCMAKE_CXX_FLAGS=-Werror=return-type -DBOOST_ROOT=$PWD/boost_1_86_0 -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_XCODE_EFFECTIVE_PLATFORMS=-iphoneos" ,
90+ cmakeflags : " -DCMAKE_CXX_FLAGS=-Werror=return-type -DBOOST_ROOT=$PWD/boost_1_90_0 -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_XCODE_EFFECTIVE_PLATFORMS=-iphoneos" ,
9191 test_target : " test" ,
9292 tests : 0,
9393 examples : 0
@@ -117,7 +117,7 @@ jobs:
117117 sudo apt update
118118 sudo apt install cmake libboost-dev libasound-dev libjack-jackd2-dev clang libc++-dev
119119 else
120- curl -L https://github.com/ossia/sdk/releases/download/sdk31/boost_1_86_0 .tar.gz > boost.tar.gz
120+ curl -L https://github.com/ossia/sdk/releases/download/sdk31/boost_1_90_0 .tar.gz > boost.tar.gz
121121 tar -xzf boost.tar.gz
122122 rm boost.tar.gz
123123 fi
@@ -131,7 +131,7 @@ jobs:
131131 ${{ matrix.config.generator }} \
132132 ${{ matrix.config.cmakeflags }} \
133133 -DLIBREMIDI_FIND_BOOST=${{ matrix.boost }} \
134- -DLIBREMIDI_HEADER_ONLY =${{ matrix.header_only }} \
134+ -DLIBREMIDI_LIBRARY_MODE =${{ matrix.library_mode }} \
135135 -DLIBREMIDI_EXAMPLES=${{ matrix.config.examples }} \
136136 -DLIBREMIDI_TESTS=${{ matrix.config.tests }} \
137137 -DLIBREMIDI_CI=1 \
@@ -163,7 +163,7 @@ jobs:
163163 fail-fast : false
164164 matrix :
165165 boost : [0, 1]
166- header_only : [0, 1 ]
166+ library_mode : [LIBRARY, HEADER_ONLY, MODULE ]
167167 steps :
168168 - uses : actions/checkout@v4
169169
@@ -182,7 +182,7 @@ jobs:
182182
183183 cmake -S . -B build \
184184 -DLIBREMIDI_FIND_BOOST=${{ matrix.boost }} \
185- -DLIBREMIDI_HEADER_ONLY =${{ matrix.header_only }} \
185+ -DLIBREMIDI_LIBRARY_MODE =${{ matrix.library_mode }} \
186186 -DLIBREMIDI_EXAMPLES=1 \
187187 -DLIBREMIDI_TESTS=1 \
188188 -DLIBREMIDI_CI=1 \
@@ -202,8 +202,8 @@ jobs:
202202 fail-fast : false
203203 matrix :
204204 boost : [0, 1]
205- header_only : [0, 1 ]
206- distro : [bookworm, trixie]
205+ library_mode : [LIBRARY, HEADER_ONLY, MODULE ]
206+ distro : [bookworm, trixie, testing ]
207207
208208 steps :
209209 - name : Add backports repo if necessary
@@ -230,19 +230,14 @@ jobs:
230230 libasound-dev \
231231 libjack-jackd2-dev \
232232 libudev-dev \
233- libpipewire-0.3-dev
234-
235- if [[ "${{matrix.distro}}" == 'bullseye' ]]; then
236- apt-get install -qq --force-yes cmake/bullseye-backports
237- else
238- apt-get install -qq --force-yes cmake
239- fi
233+ libpipewire-0.3-dev \
234+ cmake
240235
241236 - name : Configure
242237 run : |
243238 cmake -S . -B build \
244239 -DLIBREMIDI_FIND_BOOST=${{ matrix.boost }} \
245- -DLIBREMIDI_HEADER_ONLY =${{ matrix.header_only }} \
240+ -DLIBREMIDI_LIBRARY_MODE =${{ matrix.library_mode }} \
246241 -DLIBREMIDI_EXAMPLES=1 \
247242 -DLIBREMIDI_TESTS=1 \
248243 -DLIBREMIDI_CI=1 \
0 commit comments