Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1### CI quick-reference3All CI is just bash and nix.5* **Workflow**:6- `.github/workflows/ci.yml` – lists the jobs (`default`, `llvm`, …).7* **Scripts**:8- `ci/scripts/run.sh` – spins up the Nix shell then calls…9- `ci/scripts/ci.sh` – …to configure, build, and test.10* **Configuration**:11- `ci/configs/*.sh` – defines flags for each job.12- `shell.nix` – defines build environment (compilers, tools, libraries).13* **Build directories**:14- `build-*/` – separate build directories (like `build-default`, `build-llvm`) will be created for each job.16To run jobs locally:18```bash19CI_CONFIG=ci/configs/default.bash ci/scripts/run.sh20CI_CONFIG=ci/configs/llvm.bash ci/scripts/run.sh21CI_CONFIG=ci/configs/gnu32.bash ci/scripts/run.sh22CI_CONFIG=ci/configs/sanitize.bash ci/scripts/run.sh23CI_CONFIG=ci/configs/olddeps.bash ci/scripts/run.sh24```26By default CI jobs will reuse their build directories. `CI_CLEAN=1` can be specified to delete them before running instead.28### Running workflows with `act`30You can run either the entire workflow or a single matrix entry locally. On31macOS or Linux:331. Install [`act`](https://github.com/nektos/act) and either Docker or34Podman.352. Inside the Podman VM, create a named volume for the Nix store (ext4,36case-sensitive) so builds persist across runs. Recreate it any time you want37a clean cache:38```bash39podman volume create libmultiprocess-nix40```413. From the repo root, launch the workflow. The example below targets the42sanitize matrix entry; drop the `--matrix` flag to run every configuration.43```bash44act \45--reuse \46-P ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-24.04 \47--container-options "-v libmultiprocess-nix:/nix" \48-j build \49--matrix config:sanitize50```
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.