mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 23:03:45 +01:00
13424cf2ecc1 Merge bitcoin-core/libmultiprocess#205: cmake: check for Cap'n Proto / Clang / C++20 incompatibility 72dce118649b Merge bitcoin-core/libmultiprocess#200: event loop: add LogOptions struct and reduce the log size 85003409f964 eventloop: add `LogOptions` struct 657d80622f81 cmake: capnproto pkg missing helpful error d314057775a5 cmake: check for Cap'n Proto / Clang / C++20 incompatibility 878e84dc3030 Merge bitcoin-core/libmultiprocess#203: cmake: search capnproto in package mode only 1a85da5873c2 Merge bitcoin-core/libmultiprocess#202: doc: correct the build instructions for the example df01873e1ecb Merge bitcoin-core/libmultiprocess#197: ci: Add freebsd and macos build 3bee07ab3367 cmake: search capnproto in package mode only b6d3dc44194c doc: correct the build instructions for example fa1ac3000055 ci: Add macos and freebsd task git-subtree-dir: src/ipc/libmultiprocess git-subtree-split: 13424cf2ecc1e5eadc85556cf1f4c65e915f702a
CI quick-reference
All CI is just bash and nix.
- Workflow:
.github/workflows/ci.yml– lists the jobs (default,llvm, …).
- Scripts:
ci/scripts/run.sh– spins up the Nix shell then calls…ci/scripts/ci.sh– …to configure, build, and test.
- Configuration:
ci/configs/*.sh– defines flags for each job.shell.nix– defines build environment (compilers, tools, libraries).
- Build directories:
build-*/– separate build directories (likebuild-default,build-llvm) will be created for each job.
To run jobs locally:
CI_CONFIG=ci/configs/default.bash ci/scripts/run.sh
CI_CONFIG=ci/configs/llvm.bash ci/scripts/run.sh
CI_CONFIG=ci/configs/gnu32.bash ci/scripts/run.sh
CI_CONFIG=ci/configs/sanitize.bash ci/scripts/run.sh
CI_CONFIG=ci/configs/olddeps.bash ci/scripts/run.sh
By default CI jobs will reuse their build directories. CI_CLEAN=1 can be specified to delete them before running instead.