Files
bitcoin/src/ipc/libmultiprocess/ci

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.