Skip to content

Commit 37d677d

Browse files
authored
Merge pull request #450 from pmienk/master
Move to ubuntu-latest, gcc-12, clang-16 with macos-latest included via homebrew llvm@16.
2 parents d9a378f + 469cf80 commit 37d677d

File tree

1 file changed

+70
-46
lines changed

1 file changed

+70
-46
lines changed

.github/workflows/ci.yml

Lines changed: 70 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)