Skip to content

Commit

Permalink
Merge pull request libbitcoin#720 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 223121f + dbe60e8 commit a2620a7
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,65 +17,69 @@ 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"
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"
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"
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: "cov"
detectcpuflags: "detect"
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 @@ -90,12 +94,13 @@ jobs:
detectcpuflags: "ignore"
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 @@ -106,12 +111,13 @@ jobs:
detectcpuflags: "ignore"
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 @@ -141,6 +147,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 @@ -211,9 +220,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 @@ -279,65 +288,69 @@ 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"
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"
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"
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"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: ""
packager: "apt"
Expand All @@ -352,12 +365,13 @@ jobs:
detectcpuflags: "ignore"
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 @@ -368,12 +382,13 @@ jobs:
detectcpuflags: "ignore"
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 @@ -403,6 +418,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 @@ -476,9 +494,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 @@ -554,52 +572,55 @@ 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"
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"
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"
cc: "gcc-11"
cc: "gcc-12"
flags: "-Os -fPIE"
options: ""
packager: "apt"
Expand Down Expand Up @@ -633,6 +654,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 @@ -707,9 +731,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 a2620a7

Please sign in to comment.