Commit Graph

1242 Commits

Author SHA1 Message Date
merge-script
2285d1931a Merge bitcoin/bitcoin#35468: ci, iwyu: Request IPC file generation explicitly
a31eb8bfa4 ci, iwyu: Request IPC file generation explicitly (Hennadii Stepanov)

Pull request description:

  Fixes a part of https://github.com/bitcoin/bitcoin/issues/35361:
  > ... other sporadic error output:
  >
  > ```
  > [1](https://github.com/bitcoin/bitcoin/actions/runs/26292243180/job/77395542650#step:11:11661)
  > error: no such file or directory: '/home/admin/actions-runner/_work/_temp/build/src/ipc/capnp/common.capnp.c++'
  > error: no input files
  > error: unable to handle compilation, expected exactly one compiler job in ''
  > error: no such file or directory: '/home/admin/actions-runner/_work/_temp/build/src/ipc/capnp/common.capnp.proxy-client.c++'
  > error: no input files
  > error: unable to handle compilation, expected exactly one compiler job in ''
  > error: no such file or directory: '/home/admin/actions-runner/_work/_temp/build/src/ipc/capnp/common.capnp.proxy-server.c++'
  > error: no input files
  > error: unable to handle compilation, expected exactly one compiler job in ''
  > error: no such file or directory: '/home/admin/actions-runner/_work/_temp/build/src/ipc/capnp/common.capnp.proxy-types.c++'
  > error: no input files
  > ```

ACKs for top commit:
  ryanofsky:
    Code review ACK a31eb8bfa4. Thanks for the updates! This is a minimal fix getting rid of IWYU "fatal error" output from IPC files in the iwyu CI job.
  willcl-ark:
    ACK a31eb8bfa4

Tree-SHA512: 7059c3adbb1f8cb5f69149b45e180b01753dc93c852829eccbc70e6ddcfa212dec45a0e8625c6cb0ea3b8ee05f8f17181f36fd4d277e8f6cc9fe4578b0228166
2026-09-09 12:19:14 +01:00
merge-script
005ea9f42e Merge bitcoin/bitcoin#35778: scripted-diff: Use C.UTF-8 locale in all shell scripts
46654094be lint: Use C.UTF-8 locale only in shell scripts (Hennadii Stepanov)
982ee64938 lint: Skip `libmultiprocess` subtree in `lint-shell-locale.py` (Hennadii Stepanov)
1194918a5d scripted-diff: Use C.UTF-8 locale in all shell scripts (Hennadii Stepanov)

Pull request description:

  This unifies the used locales across the entire codebase.

  Additionally, the `test/lint/lint-shell-locale.py` linter has been adjusted accordingly.

  Also see https://github.com/bitcoin/bitcoin/pull/35775#issuecomment-5047323736.

ACKs for top commit:
  fanquake:
    ACK 46654094be

Tree-SHA512: e72e076614602937c5fe6ca27d0bb7bebe4464ef28455c43a1bd1d700ffeeea684365fa5749cb1e5fdad56178a1e88a544b5854783b57aef468efb105a03af57
2026-09-09 12:02:03 +01:00
merge-script
064122af26 Merge bitcoin/bitcoin#36181: ci: Upgrade IWYU to 0.27 compatible with Clang 23
3b944f194f iwyu: Switch to generated Clang intrinsics mapping file (Hennadii Stepanov)
1b5ee3be59 ci: Upgrade IWYU to 0.27 compatible with Clang 23 (Hennadii Stepanov)
6ed7c535ad iwyu: Prefer canonical headers (Hennadii Stepanov)

Pull request description:

  The new IWYU [release](https://github.com/include-what-you-use/include-what-you-use/tree/clang_23) includes several improvements and bug fixes, including:
  - https://github.com/include-what-you-use/include-what-you-use/pull/1991
  - https://github.com/include-what-you-use/include-what-you-use/pull/2013
  - https://github.com/include-what-you-use/include-what-you-use/pull/2014
  - https://github.com/include-what-you-use/include-what-you-use/pull/2058
  - https://github.com/include-what-you-use/include-what-you-use/pull/2062
  - https://github.com/include-what-you-use/include-what-you-use/pull/2093

  This allows us to remove all corresponding workarounds and patches.

  Additionally, the compiler intrinsics mapping has switched from a hardcoded file to a dynamically generated one.

ACKs for top commit:
  fanquake:
    ACK 3b944f194f
  l0rinc:
    shallow code review ACK 3b944f194f

Tree-SHA512: b4b92be735244c00f667657f55501d60fd65a1b77e39b40275cdb7b82c95b6b53e9df6fa7f36560f0578a175bf61f6dc4409e167c6fdbc2248d957c17a916a67
2026-09-09 12:00:40 +01:00
merge-script
59fd053dac Merge bitcoin/bitcoin#34931: validation: abort on DB unreadable coins instead of treating them as missing
75f64e50c6 test: exercise node abort on UTXO deserialization failure (furszy)
4652cd0d82 txdb: detect UTXO deserialization errors via CDBWrapper::TryRead() (furszy)
5dfbb91b6c dbwrapper: add TryRead() to distinguish errors from valid outcomes (furszy)
f78834fac9 test: add missing coverage for CDBWrapper::Read() errors (furszy)

Pull request description:

  Early note: the majority of this PR consists of test coverage. The changes per se are small.

  If a UTXO entry on disk can't be deserialized, the node currently treats it as if the coin
  wouldn't exist instead of aborting with an error. A non-existing coin has a very specific
  meaning for consensus: any block that spends it would be permanently rejected as invalid
  (`BLOCK_FAILED_VALID`), silently forking the node from the rest of the network. This can't
  currently be triggered in practice (details below), but it's still the wrong behavior.

  The root cause is that `CDBWrapper::Read()` returns `false` for both missing entries and
  deserialization failures, so `CCoinsViewDB::GetCoin()` has no way to tell them apart.
  `CCoinsViewErrorCatcher` was built to catch database read errors and abort, but it never
  fires during deserialization errors because `CDBWrapper::Read()` swallows the exception
  before it can propagate. This [comment](8a8edc8d88/src/coins.cpp (L398-L411)) in `ExecuteBackedWrapper()` spells out the code
  intent very clearly.

  As mentioned initially, this can't happen in practice today. It would require either a bug
  in the coin serialization path, or a memory corruption before the data reaches LevelDB
  (at which point we have bigger problems). Random disk-level bit flips are caught earlier
  by LevelDB's verification (`verify_checksums=true`, enabled by default), which already
  propagates correctly as `DB_INTERNAL_ERROR`. Regardless, a db read issue should
  never be silently misinterpreted as a consensus violation.

  This PR adds `CDBWrapper::TryRead()`, which returns a `ReadStatus` that lets callers
  discriminate between all possible outcomes. `CCoinsViewDB::GetCoin()` switches on the
  result and throws on any error, letting `ExecuteBackedWrapper()` do what it was designed
  to do. `CDBWrapper::Read()` becomes a thin wrapper over `TryRead()`, preserving backward
  compatibility for all other callers (so we don't have to change non-consensus code here).
  `PeekCoin()` is also covered, as it delegates to `CCoinsViewDB::GetCoin()` at the database
  level.

  The idea of the PR is to go slowly over the code changes, first commit locks-in the current
  `CDBWrapper::Read()` behavior . The second adds `TryRead()` with tests for all four
  status codes. The third is the `CCoinsViewDB::GetCoin()` fix. The fourth is a functional
  that ensures the node aborts correctly instead of silently diverging.

  Testing Notes:
  Cherry-picking the functional test commit on master demonstrates the consensus split
  when the coin entry fails to deserialize.

  Extra Note:
  `CDBIterator::GetValue()` has the same silent-swallow pattern. Not consensus-critical.
  Should be addressed in a follow-up.

ACKs for top commit:
  ajtowns:
    reACK 75f64e50c6
  sedited:
    ACK 75f64e50c6
  mzumsande:
    Code Review ACK [75f64e5](75f64e50c6)

Tree-SHA512: 51b0114ea443544a2f1fbb8e63be6e1dff94d6f287221d566dbc98d666784a2b4c486acfb87eea5392bc1d092fb6d6dc0ff6782bcdccdcf15939281c895e384d
2026-09-08 18:12:40 +02:00
Hennadii Stepanov
3b944f194f iwyu: Switch to generated Clang intrinsics mapping file 2026-09-07 12:09:05 +01:00
Hennadii Stepanov
1b5ee3be59 ci: Upgrade IWYU to 0.27 compatible with Clang 23
The new IWYU release includes several improvements and bug fixes,
including:
- https://github.com/include-what-you-use/include-what-you-use/pull/1991
- https://github.com/include-what-you-use/include-what-you-use/pull/2013
- https://github.com/include-what-you-use/include-what-you-use/pull/2014
- https://github.com/include-what-you-use/include-what-you-use/pull/2058
- https://github.com/include-what-you-use/include-what-you-use/pull/2062
- https://github.com/include-what-you-use/include-what-you-use/pull/2093
2026-09-07 12:00:04 +01:00
fanquake
5ba9af6b69 ci: pass LIBCXX_INCLUDE_TESTS=OFF to LLVM build 2026-09-03 10:44:02 +01:00
fanquake
b4bd12d3d5 ci: use LLVM 23 in *san, fuzz, *cross jobs 2026-09-03 10:44:01 +01:00
furszy
75f64e50c6 test: exercise node abort on UTXO deserialization failure
This ensures that UTXO unserialization errors abort the node, and does
not cause a consensus divergence.

A valid UTXO is created and shared between two nodes. The raw database
entry is then deliberately modified on one node so it can no longer be
deserialized. When the other node spends that UTXO and mines a block,
the node with the unserializable entry must abort during block connection
rather than silently treating the coin as absent and marking the block
BLOCK_FAILED_VALID, which would cause it to permanently diverge from the
network's best chain.
2026-08-29 10:59:21 -04:00
MarcoFalke
fa3971011d ci: Exclude subtrees from iwyu 2026-08-28 15:45:03 +02:00
Hennadii Stepanov
1ad8641278 iwyu: Fix warnings in src/init and treat them as errors 2026-08-27 20:23:24 +01:00
merge-script
204256c73f Merge bitcoin/bitcoin#35900: iwyu: Fix warnings in src/interfaces and treat them as errors
b3ff9c4d68 iwyu: Fix warnings in `src/interfaces` and treat them as errors (Hennadii Stepanov)
d564b0255f iwyu: Add temporary mapping to work around upstream bug (Hennadii Stepanov)

Pull request description:

  This PR continues the ongoing effort to enforce IWYU warnings.

  See [Developer Notes](https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#using-iwyu).

ACKs for top commit:
  maflcko:
    review ACK b3ff9c4d68 🖋

Tree-SHA512: 9359854c7b6e6ec93022947e78ef57fc68728326df874371028997a550fd1b6ef08e4b09271163b9d5c921c9e01deadf92b0eb5ae3f620d797e4f9bdea8f4727
2026-08-27 14:55:53 +01:00
will
607f220c6c Revert "ci: use mirror for riscv submodules"
This reverts commit b283e1751c.
2026-08-27 10:53:38 +01:00
will
64af18f4e6 ci: bump riscv toolchain to tag 2026.08.25
This bump includes the new github mirrors for sourceware repos for:

  binutils  https://github.com/gnutools/binutils-gdb.git
  gdb       https://github.com/gnutools/binutils-gdb.git
  glibc     https://github.com/gnutools/glibc.git
  newlib    https://github.com/cygwin/cygwin.git
  musl      https://github.com/kraj/musl.git

from commit 92d239130d
2026-08-27 10:53:20 +01:00
Hennadii Stepanov
b3ff9c4d68 iwyu: Fix warnings in src/interfaces and treat them as errors 2026-08-22 10:46:55 +01:00
fanquake
9d0c38db74 ci: use mypy 2.3.1 2026-08-21 09:05:27 +01:00
fanquake
7a53beca06 ci: use pyzmq 27.2.0 2026-08-21 09:05:27 +01:00
fanquake
f29f076f3c ci: use ruff 16 2026-08-21 09:05:27 +01:00
MarcoFalke
fa8762da62 build: ci/doc win64-cross build via nix 2026-08-19 15:39:50 +02:00
merge-script
fe5e2a6319 Merge bitcoin/bitcoin#32162: depends: Switch from multilib to platform-specific toolchains
de9b436ba3 depends: Switch from multilib to platform-specific toolchains (Hennadii Stepanov)

Pull request description:

  Using the multilib GCC toolchain, as currently documented in [`depends/README.md`](4c1906a500/depends/README.md), has several issues, such as:

  1. The [`g++-multilib`](https://packages.ubuntu.com/noble/g++-multilib) package conflicts with platform-specific cross-compiler packages. This means it is not possible to cross compile for `i686` and other platforms using the same set of installed packages.

  2. The [`g++-multilib`](https://packages.ubuntu.com/noble/g++-multilib) package is not available for `arm64`:
  ```sh
  $ sudo apt install g++-multilib
  Reading package lists... Done
  Building dependency tree... Done
  Reading state information... Done
  E: Unable to locate package g++-multilib
  ```

  3. Managing the multilib GCC toolchain requires additional code in both depends and Guix scripts.

  This PR addresses all the issues mentioned above by switching from multilib to platform-specific toolchains.

  Also see https://github.com/bitcoin/bitcoin/pull/22456.

  ---

  Here are examples of building for different scenarions:

  - Linux, `x86_64` or `arm64`, building with depends natively:
  ```sh
  $ gmake -C depends -j $(nproc)
  $ cmake -B build --toolchain depends/$(./depends/config.sub $(./depends/config.guess))/toolchain.cmake
  $ cmake --build build -j $(nproc)
  ```

  - Linux, `x86_64` or `arm64`, cross compiling for `i686-pc-linux-gnu`:
  ```sh
  $ sudo apt install g++-i686-linux-gnu binutils-i686-linux-gnu
  $ export HOST=i686-linux-gnu
  $ gmake -C depends -j $(nproc)
  $ cmake -B build-${HOST} --toolchain depends/${HOST}/toolchain.cmake
  $ cmake --build build-${HOST} -j $(nproc)
  ```

  - Linux, `x86_64`, cross compiling for `arm64`:
  ```sh
  $ sudo apt install g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
  $ export HOST=aarch64-linux-gnu
  $ gmake -C depends -j $(nproc)
  $ cmake -B build-${HOST} --toolchain depends/${HOST}/toolchain.cmake
  $ cmake --build build-${HOST} -j $(nproc)
  ```

  - Linux, `arm64`, cross compiling for `x86_64`:
  ```sh
  $ sudo apt install g++-x86-64-linux-gnu binutils-x86-64-linux-gnu
  $ export HOST=x86_64-linux-gnu
  $ gmake -C depends -j $(nproc)
  $ cmake -B build-${HOST} --toolchain depends/${HOST}/toolchain.cmake
  $ cmake --build build-${HOST} -j $(nproc)
  ```

ACKs for top commit:
  fanquake:
    ACK de9b436ba3
  BrandonOdiwuor:
    ACK de9b436ba3

Tree-SHA512: 453b4744974cdf56d6edfdbe93bb11e3bae3f9bc9cd99b9c57aee74e65fcdd3ac011a1dcc19f485ea3be427f4e9c6c6b0d704881369f719620f0cb299123e561
2026-08-19 14:19:47 +01:00
MarcoFalke
fad9ab714b test: Append print_suppressions=0 to LSAN_OPTIONS, and suppress bitcoin-qt
The print_suppressions=0 is required to avoid a CI failure when the
suppressions were used. E.g:

```
$ LSAN_OPTIONS="suppressions=$(pwd)/test/sanitizer_suppressions/lsan:print_suppressions=1" ./bld-cmake/test/functional/interface_gui.py
2026-08-08T10:53:45.864160Z TestFramework (INFO): PRNG seed is: 8358096631255493262
2026-08-08T10:53:45.914748Z TestFramework (INFO): Initializing test directory /tmp/bitcoin_func_test_5zx5343v
2026-08-08T10:53:47.029997Z TestFramework (INFO): Test that bitcoin-gui starts up and can be stopped via RPC
2026-08-08T10:53:47.431761Z TestFramework (ERROR): Unexpected exception:
  File "./test/functional/test_framework/test_node.py", line 534, in is_node_stopped
    raise AssertionError("Unexpected stderr {} != {}".format(stderr, expected_stderr))
AssertionError: Unexpected stderr -----------------------------------------------------
Suppressions used:
  count      bytes template
      2        181 bitcoin-qt
----------------------------------------------------- !=
```

The general suppression of the qt executables is required to avoid CI
failures for i386 builds. E.g:

```
 test  2026-08-05T08:54:08.370427Z TestFramework (ERROR): Unexpected exception:
      Traceback (most recent call last):
        File "/ci_container_base/ci/scratch_ ₿🧪_/build-i686-pc-linux-gnu/test/functional/interface_gui.py", line 34, in run_test
          self.stop_node(0)
          ~~~~~~~~~~~~~~^^^
        File "/ci_container_base/test/functional/test_framework/test_node.py", line 525, in is_node_stopped
          assert return_code in expected_ret_code, self._node_msg(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      AssertionError: [node 0] Node returned unexpected exit code (1) vs ((0,)) when stopping

 node0 stderr =================================================================
==73449==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 386 byte(s) in 17 object(s) allocated from:
    #0 0x5df28a2d in malloc (/ci_container_base/ci/scratch_ ₿🧪_/build-i686-pc-linux-gnu/bin/bitcoin-qt+0x1d0da2d) (BuildId: 496a5df531df278fe395724ae917f266331b3f81)
    #1 0xee03c1d1  (<unknown module>)

Indirect leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x5df28a2d in malloc (/ci_container_base/ci/scratch_ ₿🧪_/build-i686-pc-linux-gnu/bin/bitcoin-qt+0x1d0da2d) (BuildId: 496a5df531df278fe395724ae917f266331b3f81)
    #1 0xee03c1d1  (<unknown module>)

SUMMARY: AddressSanitizer: 398 byte(s) leaked in 18 allocation(s).
```
2026-08-08 12:58:16 +02:00
MarcoFalke
fae7ba9aba ci: Fix $BASE_ROOT_DIR installation 2026-08-07 08:38:32 +02:00
merge-script
bd01e66f0a Merge bitcoin/bitcoin#35885: ci: switch to a sourceware mirror for riscv
81fcecfe45 Revert "ci: Temporarily remove riscv32 config from GHA matrix" (will)
b283e1751c ci: use mirror for riscv submodules (will)

Pull request description:

  The https transport is rate-limited to block AI scrapers.

  Switch to a live mirror on fish.foo to re-enable the riscv job.

ACKs for top commit:
  maflcko:
    lgtm ACK 81fcecfe45
  sedited:
    ACK 81fcecfe45

Tree-SHA512: 1891046d9847b904a3e4be25b7f313fc2413ad1cc0b2c09b2300f81a2f1f691dad816fa5fcfeeae263f8d5f868d229aca5a7ab3f227ce650d359068488bc1e21
2026-08-06 13:50:38 +01:00
will
b283e1751c ci: use mirror for riscv submodules
sourceware is blocking/rate-limiting http(s) git requests to combat AI
scrapers.

Switch to a live mirror hosted at fish.foo

Use exported GIT_CONFIG_* to avoid setting `git config --global` which
could clobber a user running on bare host, but still propagate to child
git processes spawned by `make`.
2026-08-06 12:56:28 +01:00
Hennadii Stepanov
a31eb8bfa4 ci, iwyu: Request IPC file generation explicitly
Fixes a part of https://github.com/bitcoin/bitcoin/issues/35361.
2026-08-04 15:14:04 +01:00
Hennadii Stepanov
13b53f8bf6 iwyu: Fix warnings in src/consensus and treat them as errors 2026-08-04 15:02:39 +01:00
merge-script
4b322989ac Merge bitcoin/bitcoin#34995: iwyu: Fix warnings in src/common and treat them as errors
50145f62c9 ci, iwyu: Enforce warning-free `src/common` (Hennadii Stepanov)

Pull request description:

  This PR [continues](https://github.com/bitcoin/bitcoin/pull/33725#issuecomment-3466897433) the ongoing effort to enforce IWYU warnings.

  See [Developer Notes](https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#using-iwyu).

ACKs for top commit:
  maflcko:
    review ACK 50145f62c9 🌾

Tree-SHA512: c14f97d725429fed0860a608cdb53d9c6c5c36fb710f44357ba276d5507fb9b0d99ba6dac8d9a8b1ac404d9093ebffd9fb07ee5f68b4d276657d087c1f404a63
2026-08-04 10:17:24 +01:00
Lőrinc
873550bea3 ci: verify cross-build SDK archives
The macOS and BSD cross-build jobs extract SDK archives fetched at runtime without checking their content.
Keep each expected digest beside the corresponding SDK version and verify every archive before extraction.
Create the OpenBSD library symlinks once after both archives are extracted, when all link targets are present.
2026-08-03 12:17:47 -07:00
Lőrinc
2c87337efe ci: update NetBSD cross-build SDK
The NetBSD 11.0_RC6 archives are no longer available from cdn.netbsd.org. Update the cross-build SDK to the final 11.0 release.
2026-08-03 12:17:22 -07:00
Hennadii Stepanov
50145f62c9 ci, iwyu: Enforce warning-free src/common
Fix all IWYU warnings in `src/common` and treat them as errors in CI.

Additionally, ensure that our drop-in header replacements are used
instead of system headers:
- `<util/check.h>` instead of `<cassert>`
- `<util/time.h>` instead of `<chrono>`
2026-08-03 12:22:58 +01:00
fanquake
8221d714c7 lint: document CI lief version requirement 2026-08-03 11:52:17 +01:00
Hennadii Stepanov
1194918a5d scripted-diff: Use C.UTF-8 locale in all shell scripts
There is no reason to avoid it nowadays.

-BEGIN VERIFY SCRIPT-

sed -i "s/\<export LC_ALL=C\>/export LC_ALL=C.UTF-8/g" \
 $( git grep -l "^export LC_ALL=C$" -- ':!src/ipc/libmultiprocess' ':!src/minisketch' ':!src/secp256k1' )

-END VERIFY SCRIPT-
2026-07-26 16:42:48 +01:00
Hennadii Stepanov
de9b436ba3 depends: Switch from multilib to platform-specific toolchains 2026-07-21 13:33:24 +01:00
fanquake
900a7785bf ci: use Ubuntu 26.04 for lint container 2026-07-14 11:22:48 +01:00
fanquake
058a73a0ae ci: use uv 11.x 2026-07-14 11:22:48 +01:00
fanquake
14f4ddcb55 ci: mypy 2.3.0 2026-07-14 11:22:47 +01:00
fanquake
b0e0951158 ci: disable Qt build in OpenBSD cross job
Disable this for now, until issues with llvm-ranlib, and gui deps are
fixed:
```bash
libtool: install: chmod 644 /home/runner/work/_temp/depends/work/staging/x86_64-unknown-openbsd/fontconfig/2.12.6-a12d0a13377/home/runner/work/_temp/depends/x86_64-unknown-openbsd/lib/libfontconfig.a
libtool: install: llvm-ranlib-22 -t /home/runner/work/_temp/depends/work/staging/x86_64-unknown-openbsd/fontconfig/2.12.6-a12d0a13377/home/runner/work/_temp/depends/x86_64-unknown-openbsd/lib/libfontconfig.a
llvm-ranlib-22: error: Invalid option: '-t'
make[4]: *** [Makefile:539: install-libLTLIBRARIES] Error 1
```
2026-07-14 10:55:31 +01:00
fanquake
c43b7a1115 ci: add netBSD cross CI job
Use 11.0rc6, as the 10.x sysroot ships with a GCC that is too old to
have bitset, source_location etc.
2026-07-09 09:14:16 +01:00
fanquake
22ac4ad949 ci: ensure we use correct lld version in OpenBSD job
If we don't suffix with -${APT_LLVM_V}, then lld-21 will be installed.
2026-07-06 10:44:08 +01:00
fanquake
495f43f7b3 ci: FreeBSD 15.1 2026-07-06 10:44:07 +01:00
fanquake
244739db9d depends: move FreeBSD SDK handling to CI
As pointed out by Hebasto, the approach used in #35397 and #35412 is
better, rather than hardcoding flags and putting the SDK handling into
depends.
2026-07-06 10:44:07 +01:00
fanquake
47bbed052e ci: use true|false over "true|false" 2026-07-02 11:38:54 +01:00
merge-script
9871dc7ab4 Merge bitcoin/bitcoin#31425: CI: Add Riscv bare metal job
b36730a3ef  Add CI job for riscv bare metal (TheCharlatan)
bfdbf513f6 Add CI job for producing a static bare metal binary (TheCharlatan)
a9a1d92a1d build: Add option for building for bare metal envs (TheCharlatan)

Pull request description:

  This adds a CI job for building the static consensus library and linking it to an executable. It uses newlib-cygwin as a C library for the final linking step. This ensure compatibility with this target going forward and can serve as a starting point for enabling bare metal builds for the entire kernel library. This would have also caught the error fixed in #31365.

ACKs for top commit:
  fanquake:
    ACK b36730a3ef
  willcl-ark:
    reACK b36730a3ef

Tree-SHA512: c199260f243e20df7f6a537e6c1eaf3d32e23f8fc78b9a8e2b75d9feff3830ef61279e93093dacdceb99e8eb010321b4c1c644e2ad9e266f0ca1ae736baa20ae
2026-07-02 10:52:13 +01:00
Hennadii Stepanov
f26c15bdd2 Merge bitcoin/bitcoin#35397: ci: add OpenBSD Clang cross job
d64ea15824 ci: add openBSD cross CI job (fanquake)
5404b62074 depends: add openbsd_LDFLAGS (fanquake)

Pull request description:

  This adds a Linux cross job for OpenBSD; similar to https://github.com/bitcoin/bitcoin/pull/34491 (FreeBSD).

ACKs for top commit:
  hebasto:
    ACK d64ea15824.
  willcl-ark:
    ACK d64ea15824

Tree-SHA512: 0353c0ae8dd49c861a9100ebd5044fc39227c29859ca68e6454ebdf469c90ff5471e29733613606ee8ba72037f7fca5086275f794e90864a6456ffee73d9113b
2026-07-01 09:00:18 +01:00
fanquake
d64ea15824 ci: add openBSD cross CI job 2026-06-29 10:55:27 +01:00
MarcoFalke
bbbbab86a8 ci: Bump tsan config to ubuntu:26.04 with -U_FORTIFY_SOURCE 2026-06-26 19:47:25 +02:00
fanquake
58560c281d ci: remove some packages from Chimera job
This doesn't build QT, so drop ninja and xz, and add a comment.
With libevent removed, and no Qt build, we can also drop pkgconf.
2026-06-25 09:46:27 +01:00
TheCharlatan
bfdbf513f6 Add CI job for producing a static bare metal binary 2026-06-25 10:21:32 +02:00
fanquake
0443943dc0 ci: remove libevent 2026-06-23 09:25:49 +01:00
Max Edwards
744d495019 ci: updated docs to reflect removal of REPO_USE_WARP_RUNNERS flag 2026-06-17 09:53:20 -04:00