Files
bitcoin/ci
Ryan Ofsky a334bbe9b7 Squashed 'src/ipc/libmultiprocess/' changes from 1b8d4a6f1e54..13424cf2ecc1
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
2025-09-05 15:43:16 -04:00
..

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 (like build-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.