Skip to content

Commit

Permalink
Merge pull request #280 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
pmienk authored Jan 28, 2025
2 parents dc2eb2c + 1afbe89 commit 4d5dcd1
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,69 +17,73 @@ 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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "clang-15"
cc: "clang-16"
flags: "-Og -fPIE"
options: "--enable-isystem"
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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "clang-15"
cc: "clang-16"
flags: "-Os -fPIE"
options: "--enable-isystem"
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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: "--enable-isystem"
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"
detectcpuflags: "detect"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: "--enable-isystem"
packager: "apt"
Expand All @@ -94,13 +98,14 @@ jobs:
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: "llvm@16"
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
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 @@ -111,13 +116,14 @@ jobs:
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: "llvm@16"
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
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 @@ -147,6 +153,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: Determine CPU flags
shell: bash
Expand Down Expand Up @@ -218,9 +227,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/*" --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/*" --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 @@ -286,69 +295,73 @@ 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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "clang-15"
cc: "clang-16"
flags: "-Og -fPIE"
options: ""
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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "clang-15"
cc: "clang-16"
flags: "-Os -fPIE"
options: ""
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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: ""
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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: ""
packager: "apt"
Expand All @@ -363,13 +376,14 @@ jobs:
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: "llvm@16"
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
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 @@ -380,13 +394,14 @@ jobs:
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: "llvm@16"
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
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 @@ -416,6 +431,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: Determine CPU flags
shell: bash
Expand Down Expand Up @@ -490,9 +508,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/*" --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/*" --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 @@ -568,55 +586,58 @@ 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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "clang-15"
cc: "clang-16"
flags: "-Og -fPIE"
options: ""
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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: "--build-icu --with-icu"
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "clang-15"
cc: "clang-16"
flags: "-Os -fPIE"
options: ""
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"
detectcpuflags: "ignore"
boost: "--build-boost"
icu: ""
llvm: ""
secp256k1: "--build-secp256k1"
zmq: "--build-zmq"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: ""
packager: "apt"
Expand Down Expand Up @@ -650,6 +671,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: Determine CPU flags
shell: bash
Expand Down Expand Up @@ -725,9 +749,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/*" --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/*" --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 4d5dcd1

Please sign in to comment.