What changed, and why it matters
This commit simply deletes an unused CI configuration file (.cirrus.yml) from the Bitcoin Core repository. It does not change any code that runs the Bitcoin network software, wallets, or consensus rules. There is no security issue here.
No security action needed. Treat as ordinary repository maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit removes .cirrus.yml, a YAML file that defined Cirrus CI task definitions (lint, tidy, ARM, CentOS, TSan, MSan, fuzzer, etc.). The commit message states it is ‘Removed as unused.’ The deletion is purely a repository maintenance/CI cleanup change. No source code, build scripts, cryptographic logic, networking, or consensus code is modified.
Changed components
.cirrus.yml (deleted CI configuration only)Inspect captured patch +0 / −199
diff --git a/.cirrus.yml b/.cirrus.yml
deleted file mode 100644
index 33e49c18..00000000
--- a/.cirrus.yml
+++ /dev/null
@@ -1,199 +0,0 @@
-env: # Global defaults
- CIRRUS_CLONE_DEPTH: 1
- CIRRUS_LOG_TIMESTAMP: true
- MAKEJOBS: "-j10"
- TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
- CI_FAILFAST_TEST_LEAVE_DANGLING: "1" # Cirrus CI does not care about dangling processes and setting this variable avoids killing the CI script itself on error
-
-# A self-hosted machine(s) can be used via Cirrus CI. It can be configured with
-# multiple users to run tasks in parallel. No sudo permission is required.
-#
-# https://cirrus-ci.org/guide/persistent-workers/
-#
-# Generally, a persistent worker must run Ubuntu 23.04+ or Debian 12+.
-#
-# The following specific types should exist, with the following requirements:
-# - small: For an x86_64 machine, with at least 2 vCPUs and 8 GB of memory.
-# - medium: For an x86_64 machine, with at least 4 vCPUs and 16 GB of memory.
-# - arm64: For an aarch64 machine, with at least 2 vCPUs and 8 GB of memory.
-#
-# CI jobs for the latter configuration can be run on x86_64 hardware
-# by installing qemu-user-static, which works out of the box with
-# podman or docker. Background: https://stackoverflow.com/a/72890225/313633
-#
-# The above machine types are matched to each task by their label. Refer to the
-# Cirrus CI docs for more details.
-#
-# When a contributor maintains a fork of the repo, any pull request they make
-# to their own fork, or to the main repository, will trigger two CI runs:
-# one for the branch push and one for the pull request.
-# This can be avoided by setting SKIP_BRANCH_PUSH=true as a custom env variable
-# in Cirrus repository settings, accessible from
-# https://cirrus-ci.com/github/my-organization/my-repository
-#
-# On machines that are persisted between CI jobs, RESTART_CI_DOCKER_BEFORE_RUN=1
-# ensures that previous containers and artifacts are cleared before each run.
-# This requires installing Podman instead of Docker.
-#
-# Futhermore:
-# - podman-docker-4.1+ is required due to the bugfix in 4.1
-# (https://github.com/bitcoin/bitcoin/pull/21652#issuecomment-1657098200)
-# - The ./ci/ dependencies (with cirrus-cli) should be installed. One-liner example
-# for a single user setup with sudo permission:
-#
-# ```
-# apt update && apt install git screen python3 bash podman-docker uidmap slirp4netns curl -y && curl -L -o cirrus "https://github.com/cirruslabs/cirrus-cli/releases/latest/download/cirrus-linux-$(dpkg --print-architecture)" && mv cirrus /usr/local/bin/cirrus && chmod +x /usr/local/bin/cirrus
-# ```
-#
-# - There are no strict requirements on the hardware. Having fewer CPU threads
-# than recommended merely causes the CI script to run slower.
-# To avoid rare and intermittent OOM due to short memory usage spikes,
-# it is recommended to add (and persist) swap:
-#
-# ```
-# fallocate -l 16G /swapfile_ci && chmod 600 /swapfile_ci && mkswap /swapfile_ci && swapon /swapfile_ci && ( echo '/swapfile_ci none swap sw 0 0' | tee -a /etc/fstab )
-# ```
-#
-# - To register the persistent worker, open a `screen` session and run:
-#
-# ```
-# RESTART_CI_DOCKER_BEFORE_RUN=1 screen cirrus worker run --labels type=todo_fill_in_type --token todo_fill_in_token
-# ```
-
-# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
-filter_template: &FILTER_TEMPLATE
- # Allow forks to specify SKIP_BRANCH_PUSH=true and skip CI runs when a branch is pushed,
- # but still run CI when a PR is created.
- # https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution
- skip: $SKIP_BRANCH_PUSH == "true" && $CIRRUS_PR == ""
- stateful: false # https://cirrus-ci.org/guide/writing-tasks/#stateful-tasks
-
-base_template: &BASE_TEMPLATE
- << : *FILTER_TEMPLATE
- merge_base_script:
- # Require git (used in fingerprint_script).
- - git --version || ( apt-get update && apt-get install -y git )
- - if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- - git fetch --depth=1 $CIRRUS_REPO_CLONE_URL "pull/${CIRRUS_PR}/merge"
- - git checkout FETCH_HEAD # Use merged changes to detect silent merge conflicts
- # Also, the merge commit is used to lint COMMIT_RANGE="HEAD~..HEAD"
-
-main_template: &MAIN_TEMPLATE
- timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
- ci_script:
- - ./ci/test_run_all.sh
-
-global_task_template: &GLOBAL_TASK_TEMPLATE
- << : *BASE_TEMPLATE
- << : *MAIN_TEMPLATE
-
-compute_credits_template: &CREDITS_TEMPLATE
- # https://cirrus-ci.org/pricing/#compute-credits
- # Only use credits for pull requests to the main repo
- use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin/bitcoin' && $CIRRUS_PR != ""
-
-task:
- name: 'lint'
- << : *BASE_TEMPLATE
- container:
- dockerfile: ci/lint_imagefile
- cpu: 1
- memory: 1G
- # For faster CI feedback, immediately schedule the linters
- << : *CREDITS_TEMPLATE
- unshallow_script:
- - git fetch --unshallow --no-tags
- lint_script:
- - ./ci/lint_run.sh
-
-task:
- name: 'tidy'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: medium
- env:
- FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"
-
-task:
- name: 'ARM, unit tests, no functional tests'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: arm64 # Use arm64 worker to sidestep qemu and avoid a slow CI: https://github.com/bitcoin/bitcoin/pull/28087#issuecomment-1649399453
- env:
- FILE_ENV: "./ci/test/00_setup_env_arm.sh"
-
-task:
- name: 'CentOS, depends, gui'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: small
- env:
- FILE_ENV: "./ci/test/00_setup_env_native_centos.sh"
-
-task:
- name: 'previous releases, depends DEBUG'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: small
- env:
- FILE_ENV: "./ci/test/00_setup_env_native_previous_releases.sh"
-
-task:
- name: 'TSan, depends, no gui'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: medium
- env:
- FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
-
-task:
- name: 'MSan, depends'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: small
- timeout_in: 300m # Use longer timeout for the *rare* case where a full build (llvm + msan + depends + ...) needs to be done.
- env:
- FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"
-
-task:
- name: 'fuzzer,address,undefined,integer, no depends'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: medium
- timeout_in: 240m # larger timeout, due to the high CPU demand
- env:
- FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"
-
-task:
- name: 'no IPC, i686, DEBUG'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: medium
- env:
- FILE_ENV: "./ci/test/00_setup_env_i686_no_ipc.sh"
-
-task:
- name: 'no wallet, libbitcoinkernel'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: small
- env:
- FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
-
-task:
- name: 'macOS-cross, gui, no tests'
- << : *GLOBAL_TASK_TEMPLATE
- persistent_worker:
- labels:
- type: small
- env:
- FILE_ENV: "./ci/test/00_setup_env_mac_cross.sh"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.