ci: clean up cross with more recent version
What changed, and why it matters
This commit updates the project's continuous integration (CI) setup for cross-compilation testing. It removes a custom Docker image and configuration, and instead installs a specific newer version of the 'cross' tool directly from its GitHub repository. There is no change to the actual Bitcoin library code that users run.
No security action required. Treat as routine CI maintenance. If desired, verify the referenced cross revision is a legitimate commit in the cross-rs/cross repository and that the repository is trusted.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit modifies only CI infrastructure: it deletes .github/docker/Dockerfile.cross and Cross.toml, and changes .github/workflows/rust.yml to install cross from a specific Git revision (64b5bb4d3d34de062552b9a2093affe77b4ad16a) rather than from crates.io. The stated motivation is to resolve compatibility issues with fuzz dependencies. No source code, cryptographic logic, or public API is affected.
Changed components
.github/workflows/rust.yml.github/docker/Dockerfile.crossCross.tomlInspect captured patch +1 / −59
diff --git a/.github/docker/Dockerfile.cross b/.github/docker/Dockerfile.cross
deleted file mode 100644
index f2e5a746..00000000
--- a/.github/docker/Dockerfile.cross
+++ /dev/null
@@ -1,53 +0,0 @@
-FROM ubuntu:24.04
-
-RUN apt-get update && \
- apt-get install -y --no-install-recommends \
- gcc g++ \
- gcc-14-s390x-linux-gnu \
- g++-14-s390x-linux-gnu \
- libc6-dev-s390x-cross \
- libstdc++-14-dev-s390x-cross \
- gcc-14-aarch64-linux-gnu \
- g++-14-aarch64-linux-gnu \
- libc6-dev-arm64-cross \
- libstdc++-14-dev-arm64-cross \
- qemu-user-static \
- binfmt-support \
- curl \
- ca-certificates && \
- rm -rf /var/lib/apt/lists/*
-
-RUN update-alternatives --install /usr/bin/s390x-linux-gnu-gcc s390x-linux-gnu-gcc /usr/bin/s390x-linux-gnu-gcc-14 100 && \
- update-alternatives --install /usr/bin/s390x-linux-gnu-g++ s390x-linux-gnu-g++ /usr/bin/s390x-linux-gnu-g++-14 100
-
-RUN update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-14 100 && \
- update-alternatives --install /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-14 100
-
-RUN update-binfmts --enable qemu-s390x || true
-
-RUN update-binfmts --enable qemu-aarch64 || true
-
-RUN gcc --version && \
- s390x-linux-gnu-gcc --version && \
- s390x-linux-gnu-g++ --version
-
-RUN aarch64-linux-gnu-gcc --version && \
- aarch64-linux-gnu-g++ --version
-
-RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
-ENV PATH="/root/.cargo/bin:${PATH}"
-RUN rustup target add s390x-unknown-linux-gnu
-
-RUN rustup target add aarch64-unknown-linux-gnu
-
-ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
- CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x-static -L /usr/s390x-linux-gnu" \
- CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc \
- CXX_s390x_unknown_linux_gnu=s390x-linux-gnu-g++ \
- CXXFLAGS_s390x_unknown_linux_gnu="-std=c++17"
-
-ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
- CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64-static -L /usr/aarch64-linux-gnu" \
- CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc \
- CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++ \
- CXXFLAGS_aarch64_unknown_linux_gnu="-std=c++17"
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index 80a1a04f..af4b9247 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -142,7 +142,7 @@ jobs:
- name: "Install target"
run: rustup target add ${{ matrix.target }}
- name: "Install cross"
- run: cargo install cross --locked
+ run: cargo install cross --locked --git https://github.com/cross-rs/cross --rev 64b5bb4d3d34de062552b9a2093affe77b4ad16a
- name: "Run cross test"
run: cross test --target ${{ matrix.target }}
diff --git a/Cross.toml b/Cross.toml
deleted file mode 100644
index c7f4776e..00000000
--- a/Cross.toml
+++ /dev/null
@@ -1,5 +0,0 @@
-[target.s390x-unknown-linux-gnu]
-dockerfile = ".github/docker/Dockerfile.cross"
-
-[target.aarch64-unknown-linux-gnu]
-dockerfile = ".github/docker/Dockerfile.cross"
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.