Skip to content

Commit 6a2ce27

Browse files
authored
Merge pull request #1599 from pmienk/master
Move to ubuntu-latest, gcc-12, clang-16 with macos-latest included via homebrew llvm@16.
2 parents 3456acd + e0355c6 commit 6a2ce27

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,61 +17,65 @@ 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
boost: "--build-boost"
2727
icu: ""
28+
llvm: ""
2829
secp256k1: "--build-secp256k1"
29-
cc: "clang-15"
30+
cc: "clang-16"
3031
flags: "-Og -fPIE"
3132
options: "--enable-isystem --enable-avx2 --enable-sse4"
3233
packager: "apt"
3334
packages: ""
3435

35-
- os: ubuntu-22.04
36-
cxx: "clang++-15"
36+
- os: ubuntu-24.04
37+
cxx: "clang++-16"
3738
link: "static"
3839
optimization: "size"
3940
assert: "ndebug"
4041
coverage: "nocov"
4142
boost: "--build-boost"
4243
icu: "--build-icu --with-icu"
44+
llvm: ""
4345
secp256k1: "--build-secp256k1"
44-
cc: "clang-15"
46+
cc: "clang-16"
4547
flags: "-Os -fPIE"
4648
options: "--enable-isystem --enable-avx2"
4749
packager: "apt"
4850
packages: ""
4951

50-
- os: ubuntu-22.04
51-
cxx: "g++-11"
52+
- os: ubuntu-24.04
53+
cxx: "g++-12"
5254
link: "dynamic"
5355
optimization: "size"
5456
assert: "ndebug"
5557
coverage: "nocov"
5658
boost: "--build-boost"
5759
icu: ""
60+
llvm: ""
5861
secp256k1: "--build-secp256k1"
59-
cc: "gcc-11"
62+
cc: "gcc-12"
6063
flags: "-Os -fPIE"
6164
options: "--enable-isystem --enable-sse4"
6265
packager: "apt"
6366
packages: ""
6467

65-
- os: ubuntu-22.04
66-
cxx: "g++-11"
68+
- os: ubuntu-24.04
69+
cxx: "g++-12"
6770
link: "static"
6871
optimization: "size"
6972
assert: "ndebug"
7073
coverage: "cov"
7174
boost: "--build-boost"
7275
icu: "--build-icu --with-icu"
76+
llvm: ""
7377
secp256k1: "--build-secp256k1"
74-
cc: "gcc-11"
78+
cc: "gcc-12"
7579
flags: "-Os -g --coverage -fPIE"
7680
options: "--enable-isystem"
7781
packager: "apt"
@@ -85,12 +89,13 @@ jobs:
8589
coverage: "nocov"
8690
boost: "--build-boost"
8791
icu: ""
92+
llvm: "llvm@16"
8893
secp256k1: "--build-secp256k1"
8994
cc: "clang"
9095
flags: "-Os -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
9196
options: "--enable-isystem"
9297
packager: "brew"
93-
packages: "icu4c"
98+
packages: "llvm@16 icu4c"
9499

95100
- os: macos-latest
96101
cxx: "clang++"
@@ -100,12 +105,13 @@ jobs:
100105
coverage: "nocov"
101106
boost: "--build-boost"
102107
icu: ""
108+
llvm: "llvm@16"
103109
secp256k1: "--build-secp256k1"
104110
cc: "clang"
105111
flags: "-Os -fvisibility=hidden -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
106112
options: "--enable-isystem"
107113
packager: "brew"
108-
packages: "icu4c"
114+
packages: "llvm@16 icu4c"
109115

110116

111117
runs-on: ${{ matrix.os }}
@@ -135,6 +141,9 @@ jobs:
135141
if: ${{ matrix.packager == 'brew' }}
136142
run: |
137143
brew install autoconf automake libtool ${{ matrix.packages }}
144+
if [[ -n ${{ matrix.llvm }} ]]; then
145+
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
146+
fi
138147
139148
- name: Denormalize parameterization
140149
shell: bash
@@ -181,9 +190,9 @@ jobs:
181190
- name: Coveralls Calculation
182191
if: ${{ matrix.coverage == 'cov' }}
183192
run: |
184-
lcov --directory . --capture --output-file coverage.info
185-
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" "${{ github.workspace }}/src/wallet/addresses/qrencode/*" --output-file coverage.info
186-
lcov --list coverage.info
193+
lcov --directory . --capture --ignore-errors version --output-file coverage.info
194+
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" "${{ github.workspace }}/src/wallet/addresses/qrencode/*" --output-file --ignore-errors version coverage.info
195+
lcov --list --ignore-errors version coverage.info
187196
188197
- name: Coveralls.io Upload
189198
if: ${{ matrix.coverage == 'cov' }}
@@ -249,61 +258,65 @@ jobs:
249258

250259
matrix:
251260
include:
252-
- os: ubuntu-22.04
253-
cxx: "clang++-15"
261+
- os: ubuntu-24.04
262+
cxx: "clang++-16"
254263
link: "dynamic"
255264
optimization: "debug"
256265
assert: "debug"
257266
coverage: "nocov"
258267
boost: "--build-boost"
259268
icu: ""
269+
llvm: ""
260270
secp256k1: "--build-secp256k1"
261-
cc: "clang-15"
271+
cc: "clang-16"
262272
flags: "-Og -fPIE"
263273
options: "-Denable-avx2=on -Denable-sse4=on"
264274
packager: "apt"
265275
packages: ""
266276

267-
- os: ubuntu-22.04
268-
cxx: "clang++-15"
277+
- os: ubuntu-24.04
278+
cxx: "clang++-16"
269279
link: "static"
270280
optimization: "size"
271281
assert: "ndebug"
272282
coverage: "nocov"
273283
boost: "--build-boost"
274284
icu: "--build-icu --with-icu"
285+
llvm: ""
275286
secp256k1: "--build-secp256k1"
276-
cc: "clang-15"
287+
cc: "clang-16"
277288
flags: "-Os -fPIE"
278289
options: "-Denable-avx2=on"
279290
packager: "apt"
280291
packages: ""
281292

282-
- os: ubuntu-22.04
283-
cxx: "g++-11"
293+
- os: ubuntu-24.04
294+
cxx: "g++-12"
284295
link: "dynamic"
285296
optimization: "size"
286297
assert: "ndebug"
287298
coverage: "nocov"
288299
boost: "--build-boost"
289300
icu: ""
301+
llvm: ""
290302
secp256k1: "--build-secp256k1"
291-
cc: "gcc-11"
303+
cc: "gcc-12"
292304
flags: "-Os -fPIE"
293305
options: "-Denable-sse4=on"
294306
packager: "apt"
295307
packages: ""
296308

297-
- os: ubuntu-22.04
298-
cxx: "g++-11"
309+
- os: ubuntu-24.04
310+
cxx: "g++-12"
299311
link: "static"
300312
optimization: "size"
301313
assert: "ndebug"
302314
coverage: "nocov"
303315
boost: "--build-boost"
304316
icu: "--build-icu --with-icu"
317+
llvm: ""
305318
secp256k1: "--build-secp256k1"
306-
cc: "gcc-11"
319+
cc: "gcc-12"
307320
flags: "-Os -fPIE"
308321
options: ""
309322
packager: "apt"
@@ -317,12 +330,13 @@ jobs:
317330
coverage: "nocov"
318331
boost: "--build-boost"
319332
icu: ""
333+
llvm: "llvm@16"
320334
secp256k1: "--build-secp256k1"
321335
cc: "clang"
322336
flags: "-Os -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
323337
options: ""
324338
packager: "brew"
325-
packages: "icu4c"
339+
packages: "llvm@16 icu4c"
326340

327341
- os: macos-latest
328342
cxx: "clang++"
@@ -332,12 +346,13 @@ jobs:
332346
coverage: "nocov"
333347
boost: "--build-boost"
334348
icu: ""
349+
llvm: "llvm@16"
335350
secp256k1: "--build-secp256k1"
336351
cc: "clang"
337352
flags: "-Os -fvisibility=hidden -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
338353
options: ""
339354
packager: "brew"
340-
packages: "icu4c"
355+
packages: "llvm@16 icu4c"
341356

342357

343358
runs-on: ${{ matrix.os }}
@@ -367,6 +382,9 @@ jobs:
367382
if: ${{ matrix.packager == 'brew' }}
368383
run: |
369384
brew install autoconf automake libtool ${{ matrix.packages }}
385+
if [[ -n ${{ matrix.llvm }} ]]; then
386+
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
387+
fi
370388
371389
- name: Denormalize parameterization
372390
shell: bash
@@ -416,9 +434,9 @@ jobs:
416434
- name: Coveralls Calculation
417435
if: ${{ matrix.coverage == 'cov' }}
418436
run: |
419-
lcov --directory . --capture --output-file coverage.info
420-
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" "${{ github.workspace }}/src/wallet/addresses/qrencode/*" --output-file coverage.info
421-
lcov --list coverage.info
437+
lcov --directory . --capture --ignore-errors version --output-file coverage.info
438+
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" "${{ github.workspace }}/src/wallet/addresses/qrencode/*" --output-file --ignore-errors version coverage.info
439+
lcov --list --ignore-errors version coverage.info
422440
423441
- name: Coveralls.io Upload
424442
if: ${{ matrix.coverage == 'cov' }}
@@ -494,49 +512,52 @@ jobs:
494512

495513
matrix:
496514
include:
497-
- os: ubuntu-22.04
515+
- os: ubuntu-24.04
498516
preset: "nix-gnu-debug-shared"
499-
cxx: "clang++-15"
517+
cxx: "clang++-16"
500518
link: "dynamic"
501519
optimization: "debug"
502520
assert: "debug"
503521
coverage: "nocov"
504522
boost: "--build-boost"
505523
icu: ""
524+
llvm: ""
506525
secp256k1: "--build-secp256k1"
507-
cc: "clang-15"
526+
cc: "clang-16"
508527
flags: "-Og -fPIE"
509528
options: "-Denable-avx2=on -Denable-sse4=on"
510529
packager: "apt"
511530
packages: ""
512531

513-
- os: ubuntu-22.04
532+
- os: ubuntu-24.04
514533
preset: "nix-gnu-release-static"
515-
cxx: "clang++-15"
534+
cxx: "clang++-16"
516535
link: "static"
517536
optimization: "size"
518537
assert: "ndebug"
519538
coverage: "nocov"
520539
boost: "--build-boost"
521540
icu: "--build-icu --with-icu"
541+
llvm: ""
522542
secp256k1: "--build-secp256k1"
523-
cc: "clang-15"
543+
cc: "clang-16"
524544
flags: "-Os -fPIE"
525545
options: "-Denable-avx2=on"
526546
packager: "apt"
527547
packages: ""
528548

529-
- os: ubuntu-22.04
549+
- os: ubuntu-24.04
530550
preset: "nix-gnu-release-shared"
531-
cxx: "g++-11"
551+
cxx: "g++-12"
532552
link: "dynamic"
533553
optimization: "size"
534554
assert: "ndebug"
535555
coverage: "nocov"
536556
boost: "--build-boost"
537557
icu: ""
558+
llvm: ""
538559
secp256k1: "--build-secp256k1"
539-
cc: "gcc-11"
560+
cc: "gcc-12"
540561
flags: "-Os -fPIE"
541562
options: "-Denable-sse4=on"
542563
packager: "apt"
@@ -570,6 +591,9 @@ jobs:
570591
if: ${{ matrix.packager == 'brew' }}
571592
run: |
572593
brew install autoconf automake libtool ${{ matrix.packages }}
594+
if [[ -n ${{ matrix.llvm }} ]]; then
595+
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
596+
fi
573597
574598
- name: Denormalize parameterization
575599
shell: bash
@@ -620,9 +644,9 @@ jobs:
620644
- name: Coveralls Calculation
621645
if: ${{ matrix.coverage == 'cov' }}
622646
run: |
623-
lcov --directory . --capture --output-file coverage.info
624-
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" "${{ github.workspace }}/src/wallet/addresses/qrencode/*" --output-file coverage.info
625-
lcov --list coverage.info
647+
lcov --directory . --capture --ignore-errors version --output-file coverage.info
648+
lcov --remove coverage.info "/usr/*" "${{ env.LIBBITCOIN_SRC_PATH }}prefix/*" "${{ github.workspace }}/examples/*" "${{ github.workspace }}/test/*" "${{ github.workspace }}/src/wallet/addresses/qrencode/*" --output-file --ignore-errors version coverage.info
649+
lcov --list --ignore-errors version coverage.info
626650
627651
- name: Coveralls.io Upload
628652
if: ${{ matrix.coverage == 'cov' }}

0 commit comments

Comments
 (0)