What changed, and why it matters
This commit adds a new automated linting job to Bitcoin Core's GitHub Actions CI workflow. Linting is a routine code-quality check that flags style issues and common mistakes; it does not change how the Bitcoin software itself runs or handle user funds, network traffic, or secrets.
No security action required. Review as a normal CI infrastructure change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff adds a lint job to .github/workflows/ci.yml. It builds a Docker image from ci/lint_imagefile and runs the existing linter inside a container, mounting the repository at /bitcoin. The job is gated to run on branch pushes unless SKIP_BRANCH_PUSH is set, and always on pull requests. No source code, consensus logic, cryptography, networking, or secret handling is modified.
Changed components
.github/workflows/ci.ymlInspect captured patch +29 / −0
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1bb18164..fd39f3e5 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -525,3 +525,32 @@ jobs:
- name: Save caches
uses: ./.github/actions/save-caches
+
+ lint:
+ name: 'lint'
+ needs: runners
+ runs-on: ${{ needs.runners.outputs.use-cirrus-runners == 'true' && 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm' || 'ubuntu-24.04' }}
+ if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }}
+ timeout-minutes: 20
+ env:
+ CONTAINER_NAME: "bitcoin-linter"
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v5
+ with:
+ fetch-depth: 0
+
+ - name: Configure Docker
+ uses: ./.github/actions/configure-docker
+ with:
+ use-cirrus: ${{ needs.runners.outputs.use-cirrus-runners }}
+
+ - name: CI script
+ run: |
+ set -o xtrace
+ docker buildx build -t "$CONTAINER_NAME" $DOCKER_BUILD_CACHE_ARG --file "./ci/lint_imagefile" .
+ CIRRUS_PR_FLAG=""
+ if [ "${{ github.event_name }}" = "pull_request" ]; then
+ CIRRUS_PR_FLAG="-e CIRRUS_PR=1"
+ fi
+ docker run --rm $CIRRUS_PR_FLAG -v "$(pwd)":/bitcoin "$CONTAINER_NAME"
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.