What changed, and why it matters
This commit is a minor build/maintenance cleanup: it moves three Python package versions from a shell script into a separate requirements.txt file and copies that file into the CI lint container. There is no change to the actual Bitcoin Core software, consensus code, wallet handling, networking, or any user-facing behavior. It only affects how internal linting tools are installed.
No security action required. This is a routine CI refactoring. Reviewers may optionally verify that the requirements.txt contains the same pinned versions as the removed inline install command.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff refactors CI lint dependency installation. Previously ci/lint/01_install.sh pinned lief, mypy, and pyzmq versions inline via uv pip install. The commit extracts those exact same pins into a new ci/lint/requirements.txt and updates the install command to uv pip install --python /python_env --requirements /ci/lint/requirements.txt. The container build file ci/lint_imagefile is updated to copy the new requirements file before running the install script. Package versions are unchanged.
Changed components
ci/lint/01_install.shci/lint/requirements.txtci/lint_imagefileInspect captured patch +5 / −4
diff --git a/ci/lint/01_install.sh b/ci/lint/01_install.sh
index 0d9ccfbb..9c2020a9 100755
--- a/ci/lint/01_install.sh
+++ b/ci/lint/01_install.sh
@@ -29,10 +29,7 @@ export PATH="/python_env/bin:${PATH}"
command -v python3
python3 --version
-uv pip install --python /python_env \
- lief==0.17.5 \
- mypy==1.19.1 \
- pyzmq==27.1.0
+uv pip install --python /python_env --requirements /ci/lint/requirements.txt
SHELLCHECK_VERSION=v0.11.0
curl --fail -L "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.$(uname --machine).tar.xz" | \
diff --git a/ci/lint/requirements.txt b/ci/lint/requirements.txt
new file mode 100644
index 00000000..e8abf041
--- /dev/null
+++ b/ci/lint/requirements.txt
@@ -0,0 +1,3 @@
+lief==0.17.5
+mypy==1.19.1
+pyzmq==27.1.0
diff --git a/ci/lint_imagefile b/ci/lint_imagefile
index 7dc21203..a6c49a7c 100644
--- a/ci/lint_imagefile
+++ b/ci/lint_imagefile
@@ -14,6 +14,7 @@ COPY --from=ghcr.io/astral-sh/ruff:0.15 /ruff /bin/
COPY ./ci/retry/retry /ci_retry
COPY ./.python-version /.python-version
+COPY ./ci/lint/requirements.txt /ci/lint/requirements.txt
COPY ./ci/lint/01_install.sh /install.sh
RUN /install.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.