Commit Graph

17 Commits

Author SHA1 Message Date
TheCharlatan fcb0590623
kernel: Introduce initial kernel C header API
As a first step, implement the equivalent of what was implemented in the
now deprecated libbitcoinconsensus header. Also add a test binary to
exercise the header and library.

Unlike the deprecated libbitcoinconsensus the kernel library can now use
the hardware-accelerated sha256 implementations thanks for its
statically-initialzed context. The functions kept around for
backwards-compatibility in the libbitcoinconsensus header are not ported
over. As a new header, it should not be burdened by previous
implementations. Also add a new error code for handling invalid flag
combinations, which would otherwise cause a crash.

The macros used in the new C header were adapted from the libsecp256k1
header.

To make use of the C header from C++ code, a C++ header is also
introduced for wrapping the C header. This makes it safer and easier to
use from C++ code.

Co-authored-by: stickies-v <stickies-v@protonmail.com>
2025-10-08 18:58:29 +02:00
will dd1c5903e8
ci: add ccache hit-rate warning when < 75%
Print the ccache hit-rate for the job using a GitHub annotation if it
was below 75%.
2025-09-01 16:22:33 +01:00
Sjors Provoost 3cbf747c32
cmake: set ENABLE_IPC by default
Install capnp on non-depends CI jobs.

Use the bitcoin-node binary in the macOS native non-depends job.
2025-08-14 20:57:38 +02:00
fanquake 2931a87477
ci: limit stack size to 512kb in native macOS jobs 2025-07-29 10:02:06 +01:00
Hennadii Stepanov 84de8c93e7
ci: Add `deploy` target for native macOS CI job 2025-04-26 08:01:41 +01:00
MarcoFalke fae3cf0ffa
ci: Temporarily disable macOS/Windows fuzz step
The fuzz binary is still compiled. This is required for the next commit.
2024-10-31 13:51:13 +01:00
Antoine Poinsot 94ad614482
ci: remove UPnP options 2024-10-25 09:27:12 -04:00
laanwj 5c7cacf649 ci: Remove natpmp build option and libnatpmp dependency 2024-09-30 11:37:56 +02:00
merge-script 9ba56884f6
Merge bitcoin/bitcoin#30869: ci: Print inner env, Make ccache config more flexible
fa99e4521b ci: Allow CCACHE_DIR bind mount (MarcoFalke)
fa252da0b9 ci: Remove hardcoded CCACHE_DIR in cirrus (MarcoFalke)
fa146904e1 ci: Bump default CCACHE_MAXSIZE to 500M (MarcoFalke)
aaaa7cf8ba cirrus: Drop CCACHE_NOHASHDIR (MarcoFalke)
fa7ca182a9 ci: Print inner env (MarcoFalke)

Pull request description:

  The outer env is printed when the `/tmp/env-$USER-$CONTAINER_NAME` is created. There is also a separate env printed when building the container image (usually with default values).

  To confirm that the inner container env is correctly derived from the outer env, and not from the default build env, print it a third time.

ACKs for top commit:
  l0rinc:
    utACK fa99e4521b
  willcl-ark:
    ACK fa99e4521b

Tree-SHA512: 59fd3262d551e09224866e31c14ca865461e81abbe00b83391fe3a9c7ada30fd2fd0272e4aa812df2712433ac7594d1a55cf674248b341359cec09c8d3f0c58b
2024-09-19 10:42:09 +01:00
Hennadii Stepanov d01b85bfec
ci: Use `ninja` to build in macOS native CI job 2024-09-17 15:43:48 +01:00
MarcoFalke fab932b421
ci: Remove incorrectly hardcoded HOST in mac_native task
The HOST is wrong, because this is a native build, where the HOST is
supposed to be auto-detected.
2024-09-17 10:37:53 +02:00
MarcoFalke fa146904e1
ci: Bump default CCACHE_MAXSIZE to 500M
This also allows to drop individually hardcoded values, which are
impossible to overwrite and hard to maintain.
2024-09-12 12:34:02 +02:00
MarcoFalke fa80d39d82
ci: Re-add configs removed in cmake migration 2024-08-28 16:50:04 +02:00
Hennadii Stepanov 9730288a0c
ci: Migrate CI scripts to CMake 2024-08-16 21:19:13 +01:00
Hennadii Stepanov acc06bc91f
ci, macos: Use `--break-system-packages` with Homebrew's python
Homebrew's python@3.12 is marked as externally managed (PEP 668),
necessitating different approaches for installing Python packages.

For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404.
2024-03-11 19:57:56 +00:00
brunoerg fca0a8938e ci: remove "--exclude banman" for fuzzing in mac 2023-11-09 10:11:59 -03:00
Hennadii Stepanov 9658d0dc17
ci: Run "macOS native x86_64" job on GitHub Actions
Also, the "macOS native arm64" task has been removed from Cirrus CI.
2023-08-09 10:59:43 +01:00