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.
1name: CI3on:4push:5pull_request:7jobs:8build-netbsd:9runs-on: ubuntu-latest10name: build • netbsd ${{ matrix.release }}11defaults:12run:13shell: netbsd {0}14strategy:15fail-fast: false16matrix:17# Test all supported releases.18# See https://www.netbsd.org/releases/.19include:20- release: 9.421capnproto-cppflags: 'CPPFLAGS="-DKJ_NO_EXCEPTIONS=0 -DKJ_USE_KQUEUE=0"'22- release: 10.123capnproto-cppflags: 'CPPFLAGS="-DKJ_NO_EXCEPTIONS=0"'24steps:25- uses: actions/checkout@v627- name: Start NetBSD VM28uses: vmactions/netbsd-vm@v129with:30release: ${{ matrix.release }}31# The installed compiler version must match the CXX variable32# defined in `ci/configs/netbsd.bash`.33prepare: |34pkg_add cmake ninja-build gcc1435# capnproto prerequisites.36# See the following "Install capnproto" step.37run: |38set -e39pkg_add digest libtool-base mktools pkgconf cwrappers40pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities41cd /usr42cvs [email protected]:/cvsroot checkout -P \43pkgsrc/devel/capnproto \44pkgsrc/devel/libtool-base \45pkgsrc/devel/pkgconf \46pkgsrc/devel/zlib \47`# gcc15 is referenced here because the pkgsrc framework requires lang/gcc15/version.mk to exist` \48`# during the "make install" step below, even though we compile our project with gcc14.` \49pkgsrc/lang/gcc15 \50pkgsrc/mk \51pkgsrc/pkgtools \52pkgsrc/security/openssl \53pkgsrc/sysutils/install-sh/files54sync: 'rsync'55copyback: false57- name: Install capnproto58run: |59cd /usr/pkgsrc/devel/capnproto/60unset PKG_PATH61make ${{ matrix.capnproto-cppflags }} install63- name: Run CI script64run: |65cd ${{ github.workspace }}66CI_CONFIG="ci/configs/netbsd.bash" bash ci/scripts/ci.sh68build-openbsd:69runs-on: ubuntu-latest70name: build • openbsd71defaults:72run:73shell: openbsd {0}74steps:75- uses: actions/checkout@v577- name: Start OpenBSD VM78uses: vmactions/openbsd-vm@v179with:80prepare: |81pkg_add -v cmake ninja bash capnproto82sync: 'rsync'83copyback: false85- name: Run CI script86run: |87cd ${{ github.workspace }}88CI_CONFIG="ci/configs/openbsd.bash" bash ci/scripts/ci.sh90build-freebsd:91runs-on: ubuntu-latest92name: build • freebsd93defaults:94run:95shell: freebsd {0}96steps:97- uses: actions/checkout@v599- name: Start FreeBSD VM100uses: vmactions/freebsd-vm@v1101with:102prepare: |103pkg install -y cmake ninja bash capnproto104sync: 'rsync'105copyback: false107- name: Run CI script108run: |109cd ${{ github.workspace }}110CI_CONFIG="ci/configs/freebsd.bash" bash ci/scripts/ci.sh112build-macos:113runs-on: macos-latest114name: build • macos116steps:117- uses: actions/checkout@v5119- name: Install dependencies120env:121HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1122run: |123brew install --quiet ninja capnp llvm125- name: Run CI script126run: |127export PATH="$(brew --prefix llvm)/bin:$PATH"128CI_CONFIG="ci/configs/macos.bash" bash ci/scripts/ci.sh130build:131runs-on: ubuntu-latest133env:134NIXPKGS_CHANNEL: nixos-25.05135NIX_EXTRA_CONFIG: |136keep-env-derivations = true137keep-outputs = true138NIX_EXTRA_CONFIG_ACT: |139sandbox = false140filter-syscalls = false142strategy:143fail-fast: false144matrix:145config: [default, llvm, gnu32, sanitize, olddeps]147name: build • ${{ matrix.config }}149steps:150- uses: actions/checkout@v5152- name: Determine CI configuration153id: config154env:155CI_CONFIG: ci/configs/${{ matrix.config }}.bash156run: ci/scripts/config.sh158- name: Install Nix159uses: cachix/install-nix-action@v31 # 2025-05-27, from https://github.com/cachix/install-nix-action/tags160with:161nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/${{ steps.config.outputs.nixpkgs_rev }}.tar.gz162# Act executes inside an unprivileged container (Docker or Podman),163# so KVM support isn't available.164enable_kvm: "${{ github.actor != 'nektos/act' }}"165extra_nix_config: |166${{ env.NIX_EXTRA_CONFIG }}167${{ github.actor == 'nektos/act' && env.NIX_EXTRA_CONFIG_ACT || '' }}169- name: Cache Nix store170if: steps.config.outputs.cache_nix_store == 'true'171uses: nix-community/cache-nix-action@v7172with:173primary-key: nix-${{ runner.os }}-${{ matrix.config }}-${{ steps.config.outputs.nixpkgs_rev }}-${{ hashFiles('shell.nix', 'ci/patches/*.patch', format('ci/configs/{0}.bash', matrix.config)) }}174restore-prefixes-first-match: |175nix-${{ runner.os }}-${{ matrix.config }}-${{ steps.config.outputs.nixpkgs_rev }}-176nix-${{ runner.os }}-${{ matrix.config }}-177nix-${{ runner.os }}-178gc-max-store-size-linux: 10G180- name: Run CI script181env:182CI_CONFIG: ci/configs/${{ matrix.config }}.bash183run: ci/scripts/run.sh
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.