@@ -17,65 +17,69 @@ jobs:
1717
1818 matrix :
1919 include :
20- - os : ubuntu-22 .04
21- cxx : " clang++-15 "
20+ - os : ubuntu-24 .04
21+ cxx : " clang++-16 "
2222 link : " dynamic"
2323 optimization : " debug"
2424 assert : " debug"
2525 coverage : " nocov"
2626 detectcpuflags : " ignore"
2727 boost : " --build-boost"
2828 icu : " "
29+ llvm : " "
2930 secp256k1 : " --build-secp256k1"
30- cc : " clang-15 "
31+ cc : " clang-16 "
3132 flags : " -Og -fPIE"
3233 options : " --enable-isystem"
3334 packager : " apt"
3435 packages : " "
3536
36- - os : ubuntu-22 .04
37- cxx : " clang++-15 "
37+ - os : ubuntu-24 .04
38+ cxx : " clang++-16 "
3839 link : " static"
3940 optimization : " size"
4041 assert : " ndebug"
4142 coverage : " nocov"
4243 detectcpuflags : " ignore"
4344 boost : " --build-boost"
4445 icu : " --build-icu --with-icu"
46+ llvm : " "
4547 secp256k1 : " --build-secp256k1"
46- cc : " clang-15 "
48+ cc : " clang-16 "
4749 flags : " -Os -fPIE"
4850 options : " --enable-isystem"
4951 packager : " apt"
5052 packages : " "
5153
52- - os : ubuntu-22 .04
53- cxx : " g++-11 "
54+ - os : ubuntu-24 .04
55+ cxx : " g++-12 "
5456 link : " dynamic"
5557 optimization : " size"
5658 assert : " ndebug"
5759 coverage : " nocov"
5860 detectcpuflags : " ignore"
5961 boost : " --build-boost"
6062 icu : " "
63+ llvm : " "
6164 secp256k1 : " --build-secp256k1"
62- cc : " gcc-11 "
65+ cc : " gcc-12 "
6366 flags : " -Os -fPIE"
6467 options : " --enable-isystem"
6568 packager : " apt"
6669 packages : " "
6770
68- - os : ubuntu-22 .04
69- cxx : " g++-11 "
71+ - os : ubuntu-24 .04
72+ cxx : " g++-12 "
7073 link : " static"
7174 optimization : " size"
7275 assert : " ndebug"
7376 coverage : " cov"
7477 detectcpuflags : " detect"
7578 boost : " --build-boost"
7679 icu : " --build-icu --with-icu"
80+ llvm : " "
7781 secp256k1 : " --build-secp256k1"
78- cc : " gcc-11 "
82+ cc : " gcc-12 "
7983 flags : " -Os -g --coverage -fPIE"
8084 options : " --enable-isystem"
8185 packager : " apt"
@@ -90,12 +94,13 @@ jobs:
9094 detectcpuflags : " ignore"
9195 boost : " --build-boost"
9296 icu : " "
97+ llvm : " llvm@16"
9398 secp256k1 : " --build-secp256k1"
9499 cc : " clang"
95100 flags : " -Os -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
96101 options : " --enable-isystem"
97102 packager : " brew"
98- packages : " icu4c"
103+ packages : " llvm@16 icu4c"
99104
100105 - os : macos-latest
101106 cxx : " clang++"
@@ -106,12 +111,13 @@ jobs:
106111 detectcpuflags : " ignore"
107112 boost : " --build-boost"
108113 icu : " "
114+ llvm : " llvm@16"
109115 secp256k1 : " --build-secp256k1"
110116 cc : " clang"
111117 flags : " -Os -fvisibility=hidden -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
112118 options : " --enable-isystem"
113119 packager : " brew"
114- packages : " icu4c"
120+ packages : " llvm@16 icu4c"
115121
116122
117123 runs-on : ${{ matrix.os }}
@@ -141,6 +147,9 @@ jobs:
141147 if : ${{ matrix.packager == 'brew' }}
142148 run : |
143149 brew install autoconf automake libtool ${{ matrix.packages }}
150+ if [[ -n ${{ matrix.llvm }} ]]; then
151+ echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
152+ fi
144153
145154 - name : Determine CPU flags
146155 shell : bash
@@ -211,9 +220,9 @@ jobs:
211220 - name : Coveralls Calculation
212221 if : ${{ matrix.coverage == 'cov' }}
213222 run : |
214- lcov --directory . --capture --output-file coverage.info
215- lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file coverage.info
216- lcov --list coverage.info
223+ lcov --directory . --capture --ignore-errors version -- output-file coverage.info
224+ lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file --ignore-errors version coverage.info
225+ lcov --list --ignore-errors version coverage.info
217226
218227 - name : Coveralls.io Upload
219228 if : ${{ matrix.coverage == 'cov' }}
@@ -279,65 +288,69 @@ jobs:
279288
280289 matrix :
281290 include :
282- - os : ubuntu-22 .04
283- cxx : " clang++-15 "
291+ - os : ubuntu-24 .04
292+ cxx : " clang++-16 "
284293 link : " dynamic"
285294 optimization : " debug"
286295 assert : " debug"
287296 coverage : " nocov"
288297 detectcpuflags : " ignore"
289298 boost : " --build-boost"
290299 icu : " "
300+ llvm : " "
291301 secp256k1 : " --build-secp256k1"
292- cc : " clang-15 "
302+ cc : " clang-16 "
293303 flags : " -Og -fPIE"
294304 options : " "
295305 packager : " apt"
296306 packages : " "
297307
298- - os : ubuntu-22 .04
299- cxx : " clang++-15 "
308+ - os : ubuntu-24 .04
309+ cxx : " clang++-16 "
300310 link : " static"
301311 optimization : " size"
302312 assert : " ndebug"
303313 coverage : " nocov"
304314 detectcpuflags : " ignore"
305315 boost : " --build-boost"
306316 icu : " --build-icu --with-icu"
317+ llvm : " "
307318 secp256k1 : " --build-secp256k1"
308- cc : " clang-15 "
319+ cc : " clang-16 "
309320 flags : " -Os -fPIE"
310321 options : " "
311322 packager : " apt"
312323 packages : " "
313324
314- - os : ubuntu-22 .04
315- cxx : " g++-11 "
325+ - os : ubuntu-24 .04
326+ cxx : " g++-12 "
316327 link : " dynamic"
317328 optimization : " size"
318329 assert : " ndebug"
319330 coverage : " nocov"
320331 detectcpuflags : " ignore"
321332 boost : " --build-boost"
322333 icu : " "
334+ llvm : " "
323335 secp256k1 : " --build-secp256k1"
324- cc : " gcc-11 "
336+ cc : " gcc-12 "
325337 flags : " -Os -fPIE"
326338 options : " "
327339 packager : " apt"
328340 packages : " "
329341
330- - os : ubuntu-22 .04
331- cxx : " g++-11 "
342+ - os : ubuntu-24 .04
343+ cxx : " g++-12 "
332344 link : " static"
333345 optimization : " size"
334346 assert : " ndebug"
335347 coverage : " nocov"
336348 detectcpuflags : " ignore"
337349 boost : " --build-boost"
338350 icu : " --build-icu --with-icu"
351+ llvm : " "
339352 secp256k1 : " --build-secp256k1"
340- cc : " gcc-11 "
353+ cc : " gcc-12 "
341354 flags : " -Os -fPIE"
342355 options : " "
343356 packager : " apt"
@@ -352,12 +365,13 @@ jobs:
352365 detectcpuflags : " ignore"
353366 boost : " --build-boost"
354367 icu : " "
368+ llvm : " llvm@16"
355369 secp256k1 : " --build-secp256k1"
356370 cc : " clang"
357371 flags : " -Os -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
358372 options : " "
359373 packager : " brew"
360- packages : " icu4c"
374+ packages : " llvm@16 icu4c"
361375
362376 - os : macos-latest
363377 cxx : " clang++"
@@ -368,12 +382,13 @@ jobs:
368382 detectcpuflags : " ignore"
369383 boost : " --build-boost"
370384 icu : " "
385+ llvm : " llvm@16"
371386 secp256k1 : " --build-secp256k1"
372387 cc : " clang"
373388 flags : " -Os -fvisibility=hidden -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
374389 options : " "
375390 packager : " brew"
376- packages : " icu4c"
391+ packages : " llvm@16 icu4c"
377392
378393
379394 runs-on : ${{ matrix.os }}
@@ -403,6 +418,9 @@ jobs:
403418 if : ${{ matrix.packager == 'brew' }}
404419 run : |
405420 brew install autoconf automake libtool ${{ matrix.packages }}
421+ if [[ -n ${{ matrix.llvm }} ]]; then
422+ echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
423+ fi
406424
407425 - name : Determine CPU flags
408426 shell : bash
@@ -476,9 +494,9 @@ jobs:
476494 - name : Coveralls Calculation
477495 if : ${{ matrix.coverage == 'cov' }}
478496 run : |
479- lcov --directory . --capture --output-file coverage.info
480- lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file coverage.info
481- lcov --list coverage.info
497+ lcov --directory . --capture --ignore-errors version -- output-file coverage.info
498+ lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file --ignore-errors version coverage.info
499+ lcov --list --ignore-errors version coverage.info
482500
483501 - name : Coveralls.io Upload
484502 if : ${{ matrix.coverage == 'cov' }}
@@ -554,52 +572,55 @@ jobs:
554572
555573 matrix :
556574 include :
557- - os : ubuntu-22 .04
575+ - os : ubuntu-24 .04
558576 preset : " nix-gnu-debug-shared"
559- cxx : " clang++-15 "
577+ cxx : " clang++-16 "
560578 link : " dynamic"
561579 optimization : " debug"
562580 assert : " debug"
563581 coverage : " nocov"
564582 detectcpuflags : " ignore"
565583 boost : " --build-boost"
566584 icu : " "
585+ llvm : " "
567586 secp256k1 : " --build-secp256k1"
568- cc : " clang-15 "
587+ cc : " clang-16 "
569588 flags : " -Og -fPIE"
570589 options : " "
571590 packager : " apt"
572591 packages : " "
573592
574- - os : ubuntu-22 .04
593+ - os : ubuntu-24 .04
575594 preset : " nix-gnu-release-static"
576- cxx : " clang++-15 "
595+ cxx : " clang++-16 "
577596 link : " static"
578597 optimization : " size"
579598 assert : " ndebug"
580599 coverage : " nocov"
581600 detectcpuflags : " ignore"
582601 boost : " --build-boost"
583602 icu : " --build-icu --with-icu"
603+ llvm : " "
584604 secp256k1 : " --build-secp256k1"
585- cc : " clang-15 "
605+ cc : " clang-16 "
586606 flags : " -Os -fPIE"
587607 options : " "
588608 packager : " apt"
589609 packages : " "
590610
591- - os : ubuntu-22 .04
611+ - os : ubuntu-24 .04
592612 preset : " nix-gnu-release-shared"
593- cxx : " g++-11 "
613+ cxx : " g++-12 "
594614 link : " dynamic"
595615 optimization : " size"
596616 assert : " ndebug"
597617 coverage : " nocov"
598618 detectcpuflags : " ignore"
599619 boost : " --build-boost"
600620 icu : " "
621+ llvm : " "
601622 secp256k1 : " --build-secp256k1"
602- cc : " gcc-11 "
623+ cc : " gcc-12 "
603624 flags : " -Os -fPIE"
604625 options : " "
605626 packager : " apt"
@@ -633,6 +654,9 @@ jobs:
633654 if : ${{ matrix.packager == 'brew' }}
634655 run : |
635656 brew install autoconf automake libtool ${{ matrix.packages }}
657+ if [[ -n ${{ matrix.llvm }} ]]; then
658+ echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
659+ fi
636660
637661 - name : Determine CPU flags
638662 shell : bash
@@ -707,9 +731,9 @@ jobs:
707731 - name : Coveralls Calculation
708732 if : ${{ matrix.coverage == 'cov' }}
709733 run : |
710- lcov --directory . --capture --output-file coverage.info
711- lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file coverage.info
712- lcov --list coverage.info
734+ lcov --directory . --capture --ignore-errors version -- output-file coverage.info
735+ lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file --ignore-errors version coverage.info
736+ lcov --list --ignore-errors version coverage.info
713737
714738 - name : Coveralls.io Upload
715739 if : ${{ matrix.coverage == 'cov' }}
0 commit comments