Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 2 additions & 30 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,7 @@ jobs:
if: |
vars.SKIP_LINUX64 == '' ||
vars.SKIP_LINUX64_ASAN == '' ||
vars.SKIP_LINUX64_FUZZ == '' ||
vars.SKIP_LINUX64_SQLITE == ''
vars.SKIP_LINUX64_FUZZ == ''
with:
build-target: linux64
container-path: ${{ needs.container.outputs.path }}
Expand Down Expand Up @@ -404,21 +403,6 @@ jobs:
runs-on: ${{ needs.check-skip.outputs['runner-build'] }}
secrets: *remote-ccache-auth

src-linux64_sqlite:
name: linux64_sqlite-build
uses: ./.github/workflows/build-src.yml
needs: [check-skip, container, depends-linux64]
if: ${{ vars.SKIP_LINUX64_SQLITE == '' }}
with:
build-target: linux64_sqlite
container-path: ${{ needs.container.outputs.path }}
depends-key: ${{ needs.depends-linux64.outputs.key }}
depends-host: ${{ needs.depends-linux64.outputs.host }}
depends-dep-opts: ${{ needs.depends-linux64.outputs.dep-opts }}
depends-artifact: ${{ needs.depends-linux64.outputs.built-artifact }}
runs-on: ${{ needs.check-skip.outputs['runner-build'] }}
secrets: *remote-ccache-auth

src-linux64_tsan:
name: linux64_tsan-build
uses: ./.github/workflows/build-src.yml
Expand Down Expand Up @@ -596,18 +580,6 @@ jobs:
runs-on: ${{ needs.check-skip.outputs['runner-build'] }}
cancel-stale: ${{ needs.src-linux64_nowallet.outputs.freshness == 'current' && needs.lint.outputs.freshness == 'current' }}

test-linux64_sqlite:
name: linux64_sqlite-test
uses: ./.github/workflows/test-src.yml
needs: [check-skip, container-slim, src-linux64_sqlite, lint]
if: needs.src-linux64_sqlite.outputs.freshness != 'superseded' && needs.lint.outputs.freshness != 'superseded'
with:
bundle-key: ${{ needs.src-linux64_sqlite.outputs.key }}
build-target: linux64_sqlite
container-path: ${{ needs.container-slim.outputs.path }}
runs-on: ${{ needs.check-skip.outputs['runner-build'] }}
cancel-stale: ${{ needs.src-linux64_sqlite.outputs.freshness == 'current' && needs.lint.outputs.freshness == 'current' }}

test-linux64_tsan:
name: linux64_tsan-test
uses: ./.github/workflows/test-src.yml
Expand All @@ -624,7 +596,7 @@ jobs:
name: Prune old ccache generations
# Each develop push saves a new ccache/ctcache entry per target; keep only
# the newest so the 10 GB repository cache stops evicting fresh ones.
needs: [src-aarch64-linux, src-linux64, src-linux64_asan, src-linux64_fuzz, src-linux64_multiprocess, src-linux64_nowallet, src-linux64_sqlite, src-linux64_tsan, src-mac, src-win64, lint-multiprocess]
needs: [src-aarch64-linux, src-linux64, src-linux64_asan, src-linux64_fuzz, src-linux64_multiprocess, src-linux64_nowallet, src-linux64_tsan, src-mac, src-win64, lint-multiprocess]
if: |
!cancelled() &&
github.event_name == 'push' &&
Expand Down
2 changes: 1 addition & 1 deletion ci/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ and steps, so required checks are unchanged.
| Tier | Jobs | Label variable |
| --- | --- | --- |
| fast | lint, cppcheck, cache-sources, the amd64 pull request container builds and manifests, and the `linux64` depends, build and test | `RUNNER_SELFHOSTED_FAST` |
| build | every other amd64 depends, build and test job (`aarch64-linux`, `linux64_asan`, `linux64_fuzz`, `linux64_nowallet`, `linux64_sqlite`, `mac`, `win64`) | `RUNNER_SELFHOSTED_BUILD` |
| build | every other amd64 depends, build and test job (`aarch64-linux`, `linux64_asan`, `linux64_fuzz`, `linux64_nowallet`, `mac`, `win64`) | `RUNNER_SELFHOSTED_BUILD` |

Each tier picks the first of these that applies:

Expand Down
2 changes: 0 additions & 2 deletions ci/dash/matrix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ elif [ "$BUILD_TARGET" = "linux64_multiprocess" ]; then
source ./ci/test/00_setup_env_native_multiprocess.sh
elif [ "$BUILD_TARGET" = "linux64_nowallet" ]; then
source ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh
elif [ "$BUILD_TARGET" = "linux64_sqlite" ]; then
source ./ci/test/00_setup_env_native_sqlite.sh
elif [ "$BUILD_TARGET" = "linux64_tsan" ]; then
source ./ci/test/00_setup_env_native_tsan.sh
elif [ "$BUILD_TARGET" = "linux64_valgrind" ]; then
Expand Down
5 changes: 3 additions & 2 deletions ci/test/00_setup_env_aarch64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export HOST=aarch64-linux-gnu
# If the host is arm64 and wants to run the tests natively, it can set QEMU_USER_CMD to the empty string.
if [ -z ${QEMU_USER_CMD+x} ]; then export QEMU_USER_CMD="${QEMU_USER_CMD:-"qemu-aarch64 -L /usr/aarch64-linux-gnu/"}"; fi
export DPKG_ADD_ARCH="arm64"
export PACKAGES="python3-zmq g++-aarch64-linux-gnu busybox libc6:arm64 libstdc++6:arm64 libfontconfig1:arm64 libxcb1:arm64"
export PACKAGES="python3-zmq g++-11-aarch64-linux-gnu busybox libc6:arm64 libstdc++6:arm64 libfontconfig1:arm64 libxcb1:arm64"
if [ -n "$QEMU_USER_CMD" ]; then
# Likely cross-compiling, so install the needed gcc and qemu-user
export PACKAGES="$PACKAGES qemu-user"
Expand All @@ -23,4 +23,5 @@ export USE_BUSY_BOX=true
export RUN_UNIT_TESTS=false
export RUN_FUNCTIONAL_TESTS=false
export GOAL="install"
export BITCOIN_CONFIG="--enable-reduce-exports"
export DEP_OPTS="CC=aarch64-linux-gnu-gcc-11 CXX=aarch64-linux-gnu-g++-11"
export BITCOIN_CONFIG="--enable-reduce-exports CC=aarch64-linux-gnu-gcc-11 CXX=aarch64-linux-gnu-g++-11"
2 changes: 1 addition & 1 deletion ci/test/00_setup_env_native_previous_releases.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ export RUN_UNIT_TESTS_SEQUENTIAL="true"
export RUN_UNIT_TESTS="false"
export GOAL="install"
export DOWNLOAD_PREVIOUS_RELEASES="true"
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -DDEBUG_LOCKORDER -DDEBUG_LOCKCONTENTION' LDFLAGS=-static-libstdc++"
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports CPPFLAGS='-DBOOST_MULTI_INDEX_ENABLE_SAFE_MODE -DDEBUG_LOCKORDER -DDEBUG_LOCKCONTENTION' LDFLAGS=-static-libstdc++ CC=gcc-14 CXX=g++-14"
export RUN_STDLIB_PATH_CHECK=true
13 changes: 0 additions & 13 deletions ci/test/00_setup_env_native_sqlite.sh

This file was deleted.

8 changes: 8 additions & 0 deletions contrib/containers/ci/ci.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@ RUN set -ex; \
zip \
&& rm -rf /var/lib/apt/lists/*

# Native g++-11 already provides aarch64-linux-gnu-g++-11 on arm64, where noble
# has no g++-11-aarch64-linux-gnu cross package
RUN set -ex; \
if [ "$(dpkg --print-architecture)" = "amd64" ]; then \
apt-get update && apt-get install ${APT_ARGS} g++-11-aarch64-linux-gnu \
&& rm -rf /var/lib/apt/lists/*; \
fi

# ccache from upstream rather than apt: remote storage over HTTPS needs a
# storage helper, which ccache supports from 4.13 (noble ships 4.9.1).
ARG TARGETARCH
Expand Down
Loading