Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolve issues resulting from build platform drift. #1378

Merged
merged 12 commits into from
Feb 8, 2024
Merged
70 changes: 44 additions & 26 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,28 @@ jobs:
matrix:
include:
- os: ubuntu-22.04
cxx: "clang++-14"
cxx: "clang++-15"
link: "dynamic"
optimization: "size"
assert: "debug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
cc: "clang-14"
cc: "clang-15"
flags: "-Os -fPIE"
options: "--enable-isystem --enable-avx2 --enable-sse4"
packager: "apt"
packages: ""

- os: ubuntu-22.04
cxx: "clang++-14"
cxx: "clang++-15"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
cc: "clang-14"
cc: "clang-15"
flags: "-Os -fPIE"
options: "--enable-isystem --enable-avx2"
packager: "apt"
Expand Down Expand Up @@ -74,28 +74,28 @@ jobs:
packages: "lcov"

- os: macos-latest
cxx: "clang++-14"
cxx: "clang++"
link: "dynamic"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--with-icu"
cc: "clang-14"
cc: "clang"
flags: "-Os -fPIE"
options: "--enable-isystem"
packager: "brew"
packages: "icu4c"

- os: macos-latest
cxx: "clang++-14"
cxx: "clang++"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
cc: "clang-14"
cc: "clang"
flags: "-Os -fvisibility=hidden -fPIE"
options: "--enable-isystem"
packager: "brew"
Expand Down Expand Up @@ -149,6 +149,12 @@ jobs:
echo "LDFLAGS=-Wl,-rpath,$WORKSPACE_SUBPATH/prefix/lib" >> $GITHUB_ENV
fi

- name: Display Compiler details
shell: bash
run: |
${CC} -v
${CXX} -v

- name: Display CPU details
if: ${{ (runner.os == 'Linux') }}
shell: bash
Expand All @@ -158,8 +164,8 @@ jobs:
- name: Execute install.sh
run: >
./install.sh
--build-dir=$LIBBITCOIN_SRC_PATH ${{ matrix.options }}
--prefix=$LIBBITCOIN_SRC_PATH/prefix
--build-dir=${{ env.LIBBITCOIN_SRC_PATH }} ${{ matrix.options }}
--prefix=${{ env.LIBBITCOIN_SRC_PATH }}prefix
${{ env.LINKAGE }}
${{ env.ASSERT_NDEBUG }}
${{ matrix.boost }}
Expand Down Expand Up @@ -235,28 +241,28 @@ jobs:
matrix:
include:
- os: ubuntu-22.04
cxx: "clang++-14"
cxx: "clang++-15"
link: "dynamic"
optimization: "size"
assert: "debug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
cc: "clang-14"
cc: "clang-15"
flags: "-Os -fPIE"
options: "-Denable-avx2=on -Denable-sse4=on"
packager: "apt"
packages: ""

- os: ubuntu-22.04
cxx: "clang++-14"
cxx: "clang++-15"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
cc: "clang-14"
cc: "clang-15"
flags: "-Os -fPIE"
options: "-Denable-avx2=on"
packager: "apt"
Expand Down Expand Up @@ -291,28 +297,28 @@ jobs:
packages: ""

- os: macos-latest
cxx: "clang++-14"
cxx: "clang++"
link: "dynamic"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--with-icu"
cc: "clang-14"
cc: "clang"
flags: "-Os -fPIE"
options: ""
packager: "brew"
packages: "icu4c"

- os: macos-latest
cxx: "clang++-14"
cxx: "clang++"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
cc: "clang-14"
cc: "clang"
flags: "-Os -fvisibility=hidden -fPIE"
options: ""
packager: "brew"
Expand Down Expand Up @@ -369,6 +375,12 @@ jobs:
echo "LDFLAGS=-Wl,-rpath,$WORKSPACE_SUBPATH/prefix/lib" >> $GITHUB_ENV
fi

- name: Display Compiler details
shell: bash
run: |
${CC} -v
${CXX} -v

- name: Display CPU details
if: ${{ (runner.os == 'Linux') }}
shell: bash
Expand All @@ -378,8 +390,8 @@ jobs:
- name: Execute install-cmake.sh
run: >
./install-cmake.sh
--build-dir=$LIBBITCOIN_SRC_PATH ${{ matrix.options }}
--prefix=$LIBBITCOIN_SRC_PATH/prefix
--build-dir=${{ env.LIBBITCOIN_SRC_PATH }} ${{ matrix.options }}
--prefix=${{ env.LIBBITCOIN_SRC_PATH }}prefix
${{ env.LINKAGE }}
${{ env.ASSERT_NDEBUG }}
${{ matrix.boost }}
Expand Down Expand Up @@ -466,29 +478,29 @@ jobs:
include:
- os: ubuntu-22.04
preset: "nix-gnu-debug-shared-without_icu"
cxx: "clang++-14"
cxx: "clang++-15"
link: "dynamic"
optimization: "size"
assert: "debug"
coverage: "nocov"
boost: "--build-boost"
icu: ""
cc: "clang-14"
cc: "clang-15"
flags: "-Os -fPIE"
options: "-Denable-avx2=on -Denable-sse4=on"
packager: "apt"
packages: ""

- os: ubuntu-22.04
preset: "nix-gnu-release-static-size-with_icu"
cxx: "clang++-14"
cxx: "clang++-15"
link: "static"
optimization: "size"
assert: "ndebug"
coverage: "nocov"
boost: "--build-boost"
icu: "--build-icu --with-icu"
cc: "clang-14"
cc: "clang-15"
flags: "-Os -fPIE"
options: "-Denable-avx2=on"
packager: "apt"
Expand Down Expand Up @@ -560,6 +572,12 @@ jobs:
echo "LDFLAGS=-Wl,-rpath,$WORKSPACE_SUBPATH/prefix/${{ matrix.preset }}/lib" >> $GITHUB_ENV
fi

- name: Display Compiler details
shell: bash
run: |
${CC} -v
${CXX} -v

- name: Display CPU details
if: ${{ (runner.os == 'Linux') }}
shell: bash
Expand All @@ -569,8 +587,8 @@ jobs:
- name: Execute install-cmakepresets.sh
run: >
./install-cmakepresets.sh
--build-dir=$LIBBITCOIN_SRC_PATH ${{ matrix.options }}
--prefix=$LIBBITCOIN_SRC_PATH/prefix/${{ matrix.preset }}
--build-dir=${{ env.LIBBITCOIN_SRC_PATH }} ${{ matrix.options }}
--prefix=${{ env.LIBBITCOIN_SRC_PATH }}prefix/${{ matrix.preset }}
--preset=${{ matrix.preset }}
${{ env.LINKAGE }}
${{ env.ASSERT_NDEBUG }}
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/block.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ class BC_API block
const transactions_cptr& txs) NOEXCEPT;

block(const data_slice& data, bool witness) NOEXCEPT;
////block(stream::in::fast&& stream, bool witness) NOEXCEPT;
block(stream::in::fast& stream, bool witness) NOEXCEPT;
block(std::istream&& stream, bool witness) NOEXCEPT;
block(std::istream& stream, bool witness) NOEXCEPT;
block(reader&& source, bool witness) NOEXCEPT;
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/header.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ class BC_API header
uint32_t nonce) NOEXCEPT;

header(const data_slice& data) NOEXCEPT;
////header(stream::in::fast&& stream) NOEXCEPT;
header(stream::in::fast& stream) NOEXCEPT;
header(std::istream&& stream) NOEXCEPT;
header(std::istream& stream) NOEXCEPT;
header(reader&& source) NOEXCEPT;
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/input.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ class BC_API input
const chain::witness::cptr& witness, uint32_t sequence) NOEXCEPT;

input(const data_slice& data) NOEXCEPT;
////input(stream::in::fast&& stream) NOEXCEPT;
input(stream::in::fast& stream) NOEXCEPT;
input(std::istream&& stream) NOEXCEPT;
input(std::istream& stream) NOEXCEPT;
input(reader&& source) NOEXCEPT;
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/operation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,8 @@ class BC_API operation

/// These deserialize operations (with codes), not from push-data.
operation(const data_slice& op_data) NOEXCEPT;
////operation(stream::in::fast&& stream) NOEXCEPT;
operation(stream::in::fast& stream) NOEXCEPT;
operation(std::istream&& stream) NOEXCEPT;
operation(std::istream& stream) NOEXCEPT;
operation(reader&& source) NOEXCEPT;
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/output.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ class BC_API output
output(uint64_t value, const chain::script::cptr& script) NOEXCEPT;

output(const data_slice& data) NOEXCEPT;
////output(stream::in::fast&& stream) NOEXCEPT;
output(stream::in::fast& stream) NOEXCEPT;
output(std::istream&& stream) NOEXCEPT;
output(std::istream& stream) NOEXCEPT;
output(reader&& source) NOEXCEPT;
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/point.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ class BC_API point
point(const hash_digest& hash, uint32_t index) NOEXCEPT;

point(const data_slice& data) NOEXCEPT;
////point(stream::in::fast&& stream) NOEXCEPT;
point(stream::in::fast& stream) NOEXCEPT;
point(std::istream&& stream) NOEXCEPT;
point(std::istream& stream) NOEXCEPT;
point(reader&& source) NOEXCEPT;
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/script.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,8 @@ class BC_API script
script(operations&& ops, bool prefail) NOEXCEPT;
script(const operations& ops, bool prefail) NOEXCEPT;
script(const data_slice& data, bool prefix) NOEXCEPT;
////script(stream::in::fast&& stream, bool prefix) NOEXCEPT;
script(stream::in::fast& stream, bool prefix) NOEXCEPT;
script(std::istream&& stream, bool prefix) NOEXCEPT;
script(std::istream& stream, bool prefix) NOEXCEPT;
script(reader&& source, bool prefix) NOEXCEPT;
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/transaction.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ class BC_API transaction
const outputs_cptr& outputs, uint32_t locktime) NOEXCEPT;

transaction(const data_slice& data, bool witness) NOEXCEPT;
////transaction(stream::in::fast&& stream, bool witness) NOEXCEPT;
transaction(stream::in::fast& stream, bool witness) NOEXCEPT;
transaction(std::istream&& stream, bool witness) NOEXCEPT;
transaction(std::istream& stream, bool witness) NOEXCEPT;
transaction(reader&& source, bool witness) NOEXCEPT;
Expand Down
2 changes: 2 additions & 0 deletions include/bitcoin/system/chain/witness.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ class BC_API witness
witness(const chunk_cptrs& stack) NOEXCEPT;

witness(const data_slice& data, bool prefix) NOEXCEPT;
////witness(stream::in::fast&& stream, bool prefix) NOEXCEPT;
witness(stream::in::fast& stream, bool prefix) NOEXCEPT;
witness(std::istream&& stream, bool prefix) NOEXCEPT;
witness(std::istream& stream, bool prefix) NOEXCEPT;
witness(reader&& source, bool prefix) NOEXCEPT;
Expand Down
Loading
Loading