Skip to content

Commit 4d5dcd1

Browse files
authored
Merge pull request libbitcoin#280 from pmienk/master
Move to ubuntu-latest, gcc-12, clang-16 with macos-latest included via homebrew llvm@16.
2 parents dc2eb2c + 1afbe89 commit 4d5dcd1

1 file changed

Lines changed: 70 additions & 46 deletions

File tree

.github/workflows/ci.yml

Lines changed: 70 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -17,69 +17,73 @@ 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"
3031
zmq: "--build-zmq"
31-
cc: "clang-15"
32+
cc: "clang-16"
3233
flags: "-Og -fPIE"
3334
options: "--enable-isystem"
3435
packager: "apt"
3536
packages: ""
3637

37-
- os: ubuntu-22.04
38-
cxx: "clang++-15"
38+
- os: ubuntu-24.04
39+
cxx: "clang++-16"
3940
link: "static"
4041
optimization: "size"
4142
assert: "ndebug"
4243
coverage: "nocov"
4344
detectcpuflags: "ignore"
4445
boost: "--build-boost"
4546
icu: "--build-icu --with-icu"
47+
llvm: ""
4648
secp256k1: "--build-secp256k1"
4749
zmq: "--build-zmq"
48-
cc: "clang-15"
50+
cc: "clang-16"
4951
flags: "-Os -fPIE"
5052
options: "--enable-isystem"
5153
packager: "apt"
5254
packages: ""
5355

54-
- os: ubuntu-22.04
55-
cxx: "g++-11"
56+
- os: ubuntu-24.04
57+
cxx: "g++-12"
5658
link: "dynamic"
5759
optimization: "size"
5860
assert: "ndebug"
5961
coverage: "nocov"
6062
detectcpuflags: "ignore"
6163
boost: "--build-boost"
6264
icu: ""
65+
llvm: ""
6366
secp256k1: "--build-secp256k1"
6467
zmq: "--build-zmq"
65-
cc: "gcc-11"
68+
cc: "gcc-12"
6669
flags: "-Os -fPIE"
6770
options: "--enable-isystem"
6871
packager: "apt"
6972
packages: ""
7073

71-
- os: ubuntu-22.04
72-
cxx: "g++-11"
74+
- os: ubuntu-24.04
75+
cxx: "g++-12"
7376
link: "static"
7477
optimization: "size"
7578
assert: "ndebug"
7679
coverage: "nocov"
7780
detectcpuflags: "detect"
7881
boost: "--build-boost"
7982
icu: "--build-icu --with-icu"
83+
llvm: ""
8084
secp256k1: "--build-secp256k1"
8185
zmq: "--build-zmq"
82-
cc: "gcc-11"
86+
cc: "gcc-12"
8387
flags: "-Os -fPIE"
8488
options: "--enable-isystem"
8589
packager: "apt"
@@ -94,13 +98,14 @@ jobs:
9498
detectcpuflags: "ignore"
9599
boost: "--build-boost"
96100
icu: ""
101+
llvm: "llvm@16"
97102
secp256k1: "--build-secp256k1"
98103
zmq: "--build-zmq"
99104
cc: "clang"
100105
flags: "-Os -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
101106
options: "--enable-isystem"
102107
packager: "brew"
103-
packages: "icu4c"
108+
packages: "llvm@16 icu4c"
104109

105110
- os: macos-latest
106111
cxx: "clang++"
@@ -111,13 +116,14 @@ jobs:
111116
detectcpuflags: "ignore"
112117
boost: "--build-boost"
113118
icu: ""
119+
llvm: "llvm@16"
114120
secp256k1: "--build-secp256k1"
115121
zmq: "--build-zmq"
116122
cc: "clang"
117123
flags: "-Os -fvisibility=hidden -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
118124
options: "--enable-isystem"
119125
packager: "brew"
120-
packages: "icu4c"
126+
packages: "llvm@16 icu4c"
121127

122128

123129
runs-on: ${{ matrix.os }}
@@ -147,6 +153,9 @@ jobs:
147153
if: ${{ matrix.packager == 'brew' }}
148154
run: |
149155
brew install autoconf automake libtool ${{ matrix.packages }}
156+
if [[ -n ${{ matrix.llvm }} ]]; then
157+
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
158+
fi
150159
151160
- name: Determine CPU flags
152161
shell: bash
@@ -218,9 +227,9 @@ jobs:
218227
- name: Coveralls Calculation
219228
if: ${{ matrix.coverage == 'cov' }}
220229
run: |
221-
lcov --directory . --capture --output-file coverage.info
222-
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file coverage.info
223-
lcov --list coverage.info
230+
lcov --directory . --capture --ignore-errors version --output-file coverage.info
231+
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file --ignore-errors version coverage.info
232+
lcov --list --ignore-errors version coverage.info
224233
225234
- name: Coveralls.io Upload
226235
if: ${{ matrix.coverage == 'cov' }}
@@ -286,69 +295,73 @@ jobs:
286295

287296
matrix:
288297
include:
289-
- os: ubuntu-22.04
290-
cxx: "clang++-15"
298+
- os: ubuntu-24.04
299+
cxx: "clang++-16"
291300
link: "dynamic"
292301
optimization: "debug"
293302
assert: "debug"
294303
coverage: "nocov"
295304
detectcpuflags: "ignore"
296305
boost: "--build-boost"
297306
icu: ""
307+
llvm: ""
298308
secp256k1: "--build-secp256k1"
299309
zmq: "--build-zmq"
300-
cc: "clang-15"
310+
cc: "clang-16"
301311
flags: "-Og -fPIE"
302312
options: ""
303313
packager: "apt"
304314
packages: ""
305315

306-
- os: ubuntu-22.04
307-
cxx: "clang++-15"
316+
- os: ubuntu-24.04
317+
cxx: "clang++-16"
308318
link: "static"
309319
optimization: "size"
310320
assert: "ndebug"
311321
coverage: "nocov"
312322
detectcpuflags: "ignore"
313323
boost: "--build-boost"
314324
icu: "--build-icu --with-icu"
325+
llvm: ""
315326
secp256k1: "--build-secp256k1"
316327
zmq: "--build-zmq"
317-
cc: "clang-15"
328+
cc: "clang-16"
318329
flags: "-Os -fPIE"
319330
options: ""
320331
packager: "apt"
321332
packages: ""
322333

323-
- os: ubuntu-22.04
324-
cxx: "g++-11"
334+
- os: ubuntu-24.04
335+
cxx: "g++-12"
325336
link: "dynamic"
326337
optimization: "size"
327338
assert: "ndebug"
328339
coverage: "nocov"
329340
detectcpuflags: "ignore"
330341
boost: "--build-boost"
331342
icu: ""
343+
llvm: ""
332344
secp256k1: "--build-secp256k1"
333345
zmq: "--build-zmq"
334-
cc: "gcc-11"
346+
cc: "gcc-12"
335347
flags: "-Os -fPIE"
336348
options: ""
337349
packager: "apt"
338350
packages: ""
339351

340-
- os: ubuntu-22.04
341-
cxx: "g++-11"
352+
- os: ubuntu-24.04
353+
cxx: "g++-12"
342354
link: "static"
343355
optimization: "size"
344356
assert: "ndebug"
345357
coverage: "nocov"
346358
detectcpuflags: "ignore"
347359
boost: "--build-boost"
348360
icu: "--build-icu --with-icu"
361+
llvm: ""
349362
secp256k1: "--build-secp256k1"
350363
zmq: "--build-zmq"
351-
cc: "gcc-11"
364+
cc: "gcc-12"
352365
flags: "-Os -fPIE"
353366
options: ""
354367
packager: "apt"
@@ -363,13 +376,14 @@ jobs:
363376
detectcpuflags: "ignore"
364377
boost: "--build-boost"
365378
icu: ""
379+
llvm: "llvm@16"
366380
secp256k1: "--build-secp256k1"
367381
zmq: "--build-zmq"
368382
cc: "clang"
369383
flags: "-Os -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
370384
options: ""
371385
packager: "brew"
372-
packages: "icu4c"
386+
packages: "llvm@16 icu4c"
373387

374388
- os: macos-latest
375389
cxx: "clang++"
@@ -380,13 +394,14 @@ jobs:
380394
detectcpuflags: "ignore"
381395
boost: "--build-boost"
382396
icu: ""
397+
llvm: "llvm@16"
383398
secp256k1: "--build-secp256k1"
384399
zmq: "--build-zmq"
385400
cc: "clang"
386401
flags: "-Os -fvisibility=hidden -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
387402
options: ""
388403
packager: "brew"
389-
packages: "icu4c"
404+
packages: "llvm@16 icu4c"
390405

391406

392407
runs-on: ${{ matrix.os }}
@@ -416,6 +431,9 @@ jobs:
416431
if: ${{ matrix.packager == 'brew' }}
417432
run: |
418433
brew install autoconf automake libtool ${{ matrix.packages }}
434+
if [[ -n ${{ matrix.llvm }} ]]; then
435+
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
436+
fi
419437
420438
- name: Determine CPU flags
421439
shell: bash
@@ -490,9 +508,9 @@ jobs:
490508
- name: Coveralls Calculation
491509
if: ${{ matrix.coverage == 'cov' }}
492510
run: |
493-
lcov --directory . --capture --output-file coverage.info
494-
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file coverage.info
495-
lcov --list coverage.info
511+
lcov --directory . --capture --ignore-errors version --output-file coverage.info
512+
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file --ignore-errors version coverage.info
513+
lcov --list --ignore-errors version coverage.info
496514
497515
- name: Coveralls.io Upload
498516
if: ${{ matrix.coverage == 'cov' }}
@@ -568,55 +586,58 @@ jobs:
568586

569587
matrix:
570588
include:
571-
- os: ubuntu-22.04
589+
- os: ubuntu-24.04
572590
preset: "nix-gnu-debug-shared"
573-
cxx: "clang++-15"
591+
cxx: "clang++-16"
574592
link: "dynamic"
575593
optimization: "debug"
576594
assert: "debug"
577595
coverage: "nocov"
578596
detectcpuflags: "ignore"
579597
boost: "--build-boost"
580598
icu: ""
599+
llvm: ""
581600
secp256k1: "--build-secp256k1"
582601
zmq: "--build-zmq"
583-
cc: "clang-15"
602+
cc: "clang-16"
584603
flags: "-Og -fPIE"
585604
options: ""
586605
packager: "apt"
587606
packages: ""
588607

589-
- os: ubuntu-22.04
608+
- os: ubuntu-24.04
590609
preset: "nix-gnu-release-static"
591-
cxx: "clang++-15"
610+
cxx: "clang++-16"
592611
link: "static"
593612
optimization: "size"
594613
assert: "ndebug"
595614
coverage: "nocov"
596615
detectcpuflags: "ignore"
597616
boost: "--build-boost"
598617
icu: "--build-icu --with-icu"
618+
llvm: ""
599619
secp256k1: "--build-secp256k1"
600620
zmq: "--build-zmq"
601-
cc: "clang-15"
621+
cc: "clang-16"
602622
flags: "-Os -fPIE"
603623
options: ""
604624
packager: "apt"
605625
packages: ""
606626

607-
- os: ubuntu-22.04
627+
- os: ubuntu-24.04
608628
preset: "nix-gnu-release-shared"
609-
cxx: "g++-11"
629+
cxx: "g++-12"
610630
link: "dynamic"
611631
optimization: "size"
612632
assert: "ndebug"
613633
coverage: "nocov"
614634
detectcpuflags: "ignore"
615635
boost: "--build-boost"
616636
icu: ""
637+
llvm: ""
617638
secp256k1: "--build-secp256k1"
618639
zmq: "--build-zmq"
619-
cc: "gcc-11"
640+
cc: "gcc-12"
620641
flags: "-Os -fPIE"
621642
options: ""
622643
packager: "apt"
@@ -650,6 +671,9 @@ jobs:
650671
if: ${{ matrix.packager == 'brew' }}
651672
run: |
652673
brew install autoconf automake libtool ${{ matrix.packages }}
674+
if [[ -n ${{ matrix.llvm }} ]]; then
675+
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
676+
fi
653677
654678
- name: Determine CPU flags
655679
shell: bash
@@ -725,9 +749,9 @@ jobs:
725749
- name: Coveralls Calculation
726750
if: ${{ matrix.coverage == 'cov' }}
727751
run: |
728-
lcov --directory . --capture --output-file coverage.info
729-
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file coverage.info
730-
lcov --list coverage.info
752+
lcov --directory . --capture --ignore-errors version --output-file coverage.info
753+
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" --output-file --ignore-errors version coverage.info
754+
lcov --list --ignore-errors version coverage.info
731755
732756
- name: Coveralls.io Upload
733757
if: ${{ matrix.coverage == 'cov' }}

0 commit comments

Comments
 (0)