Skip to content

Commit

Permalink
Merge pull request #1599 from pmienk/master
Browse files Browse the repository at this point in the history
Move to ubuntu-latest, gcc-12, clang-16 with macos-latest included via homebrew llvm@16.
  • Loading branch information
evoskuil authored Jan 28, 2025
2 parents 3456acd + e0355c6 commit 6a2ce27
Showing 1 changed file with 70 additions and 46 deletions.
116 changes: 70 additions & 46 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,61 +17,65 @@ jobs:

matrix:
include:
- os: ubuntu-22.04
cxx: "clang++-15"
- os: ubuntu-24.04
cxx: "clang++-16"
link: "dynamic"
optimization: "debug"
assert: "debug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
cc: "clang-15"
cc: "clang-16"
flags: "-Og -fPIE"
options: "--enable-isystem --enable-avx2 --enable-sse4"
packager: "apt"
packages: ""

- os: ubuntu-22.04
cxx: "clang++-15"
- os: ubuntu-24.04
cxx: "clang++-16"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
cc: "clang-15"
cc: "clang-16"
flags: "-Os -fPIE"
options: "--enable-isystem --enable-avx2"
packager: "apt"
packages: ""

- os: ubuntu-22.04
cxx: "g++-11"
- os: ubuntu-24.04
cxx: "g++-12"
link: "dynamic"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: "--enable-isystem --enable-sse4"
packager: "apt"
packages: ""

- os: ubuntu-22.04
cxx: "g++-11"
- os: ubuntu-24.04
cxx: "g++-12"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "cov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -g --coverage -fPIE"
options: "--enable-isystem"
packager: "apt"
Expand All @@ -85,12 +89,13 @@ jobs:
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: "llvm@16"
secp256k1: "--build-secp256k1"
cc: "clang"
flags: "-Os -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
options: "--enable-isystem"
packager: "brew"
packages: "icu4c"
packages: "llvm@16 icu4c"

- os: macos-latest
cxx: "clang++"
Expand All @@ -100,12 +105,13 @@ jobs:
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: "llvm@16"
secp256k1: "--build-secp256k1"
cc: "clang"
flags: "-Os -fvisibility=hidden -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
options: "--enable-isystem"
packager: "brew"
packages: "icu4c"
packages: "llvm@16 icu4c"


runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -135,6 +141,9 @@ jobs:
if: ${{ matrix.packager == 'brew' }}
run: |
brew install autoconf automake libtool ${{ matrix.packages }}
if [[ -n ${{ matrix.llvm }} ]]; then
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
fi
- name: Denormalize parameterization
shell: bash
Expand Down Expand Up @@ -181,9 +190,9 @@ jobs:
- name: Coveralls Calculation
if: ${{ matrix.coverage == 'cov' }}
run: |
lcov --directory . --capture --output-file coverage.info
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
lcov --list coverage.info
lcov --directory . --capture --ignore-errors version --output-file coverage.info
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
lcov --list --ignore-errors version coverage.info
- name: Coveralls.io Upload
if: ${{ matrix.coverage == 'cov' }}
Expand Down Expand Up @@ -249,61 +258,65 @@ jobs:

matrix:
include:
- os: ubuntu-22.04
cxx: "clang++-15"
- os: ubuntu-24.04
cxx: "clang++-16"
link: "dynamic"
optimization: "debug"
assert: "debug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
cc: "clang-15"
cc: "clang-16"
flags: "-Og -fPIE"
options: "-Denable-avx2=on -Denable-sse4=on"
packager: "apt"
packages: ""

- os: ubuntu-22.04
cxx: "clang++-15"
- os: ubuntu-24.04
cxx: "clang++-16"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
cc: "clang-15"
cc: "clang-16"
flags: "-Os -fPIE"
options: "-Denable-avx2=on"
packager: "apt"
packages: ""

- os: ubuntu-22.04
cxx: "g++-11"
- os: ubuntu-24.04
cxx: "g++-12"
link: "dynamic"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: "-Denable-sse4=on"
packager: "apt"
packages: ""

- os: ubuntu-22.04
cxx: "g++-11"
- os: ubuntu-24.04
cxx: "g++-12"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: ""
packager: "apt"
Expand All @@ -317,12 +330,13 @@ jobs:
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: "llvm@16"
secp256k1: "--build-secp256k1"
cc: "clang"
flags: "-Os -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
options: ""
packager: "brew"
packages: "icu4c"
packages: "llvm@16 icu4c"

- os: macos-latest
cxx: "clang++"
Expand All @@ -332,12 +346,13 @@ jobs:
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: "llvm@16"
secp256k1: "--build-secp256k1"
cc: "clang"
flags: "-Os -fvisibility=hidden -fPIE -DBOOST_NO_CXX98_FUNCTION_BASE"
options: ""
packager: "brew"
packages: "icu4c"
packages: "llvm@16 icu4c"


runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -367,6 +382,9 @@ jobs:
if: ${{ matrix.packager == 'brew' }}
run: |
brew install autoconf automake libtool ${{ matrix.packages }}
if [[ -n ${{ matrix.llvm }} ]]; then
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
fi
- name: Denormalize parameterization
shell: bash
Expand Down Expand Up @@ -416,9 +434,9 @@ jobs:
- name: Coveralls Calculation
if: ${{ matrix.coverage == 'cov' }}
run: |
lcov --directory . --capture --output-file coverage.info
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
lcov --list coverage.info
lcov --directory . --capture --ignore-errors version --output-file coverage.info
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
lcov --list --ignore-errors version coverage.info
- name: Coveralls.io Upload
if: ${{ matrix.coverage == 'cov' }}
Expand Down Expand Up @@ -494,49 +512,52 @@ jobs:

matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
preset: "nix-gnu-debug-shared"
cxx: "clang++-15"
cxx: "clang++-16"
link: "dynamic"
optimization: "debug"
assert: "debug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
cc: "clang-15"
cc: "clang-16"
flags: "-Og -fPIE"
options: "-Denable-avx2=on -Denable-sse4=on"
packager: "apt"
packages: ""

- os: ubuntu-22.04
- os: ubuntu-24.04
preset: "nix-gnu-release-static"
cxx: "clang++-15"
cxx: "clang++-16"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
cc: "clang-15"
cc: "clang-16"
flags: "-Os -fPIE"
options: "-Denable-avx2=on"
packager: "apt"
packages: ""

- os: ubuntu-22.04
- os: ubuntu-24.04
preset: "nix-gnu-release-shared"
cxx: "g++-11"
cxx: "g++-12"
link: "dynamic"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: "-Denable-sse4=on"
packager: "apt"
Expand Down Expand Up @@ -570,6 +591,9 @@ jobs:
if: ${{ matrix.packager == 'brew' }}
run: |
brew install autoconf automake libtool ${{ matrix.packages }}
if [[ -n ${{ matrix.llvm }} ]]; then
echo "PATH=/opt/homebrew/opt/${{ matrix.llvm }}/bin:$PATH" >> $GITHUB_ENV
fi
- name: Denormalize parameterization
shell: bash
Expand Down Expand Up @@ -620,9 +644,9 @@ jobs:
- name: Coveralls Calculation
if: ${{ matrix.coverage == 'cov' }}
run: |
lcov --directory . --capture --output-file coverage.info
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
lcov --list coverage.info
lcov --directory . --capture --ignore-errors version --output-file coverage.info
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
lcov --list --ignore-errors version coverage.info
- name: Coveralls.io Upload
if: ${{ matrix.coverage == 'cov' }}
Expand Down

0 comments on commit 6a2ce27

Please sign in to comment.