From decbd05b77aa4d82a64e67fd71bf8dfa2e63c8c3 Mon Sep 17 00:00:00 2001 From: Kittywhiskers Van Gogh <63189531+kwvg@users.noreply.github.com> Date: Sat, 2 Nov 2024 21:30:07 +0000 Subject: [PATCH 1/2] ci: stop running `check-symbols` during builds Guix runs `check-symbols` during its builds and retains value there as those builds are expected to run on platforms/distros that have that pinned version of glibc or higher (pinned in `manifest.scm` as 2.28 and checked to make sure ABIs present in versions higher than 2.31 aren't used by `symbol-check.py`). There's no reason to do this on regular builds, which aren't expected to be as portable, built in an environment that's much less customizable. --- ci/dash/build_src.sh | 4 ---- ci/test/00_setup_env.sh | 1 - ci/test/00_setup_env_native_qt5.sh | 1 - 3 files changed, 6 deletions(-) diff --git a/ci/dash/build_src.sh b/ci/dash/build_src.sh index c0696d49df..e940aac194 100755 --- a/ci/dash/build_src.sh +++ b/ci/dash/build_src.sh @@ -63,7 +63,3 @@ fi if [ "$RUN_SECURITY_TESTS" = "true" ]; then make test-security-check fi - -if [ "$RUN_SYMBOL_TESTS" = "true" ]; then - make $MAKEJOBS -C src check-symbols -fi diff --git a/ci/test/00_setup_env.sh b/ci/test/00_setup_env.sh index 0db0f0b459..587dfc2bfe 100755 --- a/ci/test/00_setup_env.sh +++ b/ci/test/00_setup_env.sh @@ -46,7 +46,6 @@ export RUN_SECURITY_TESTS=${RUN_SECURITY_TESTS:-false} export TEST_RUNNER_TIMEOUT_FACTOR=${TEST_RUNNER_TIMEOUT_FACTOR:-4} export TEST_RUNNER_ENV=${TEST_RUNNER_ENV:-} export RUN_FUZZ_TESTS=${RUN_FUZZ_TESTS:-false} -export RUN_SYMBOL_TESTS=${RUN_SYMBOL_TESTS:-false} export EXPECTED_TESTS_DURATION_IN_SECONDS=${EXPECTED_TESTS_DURATION_IN_SECONDS:-1000} export CONTAINER_NAME=${CONTAINER_NAME:-ci_unnamed} diff --git a/ci/test/00_setup_env_native_qt5.sh b/ci/test/00_setup_env_native_qt5.sh index 88ddee13c2..4a40030639 100755 --- a/ci/test/00_setup_env_native_qt5.sh +++ b/ci/test/00_setup_env_native_qt5.sh @@ -16,4 +16,3 @@ export RUN_UNIT_TESTS="false" export GOAL="install" export PREVIOUS_RELEASES_TO_DOWNLOAD="v0.15.0.0 v0.16.1.1 v0.17.0.3 v18.2.2 v19.3.0 v20.0.1" export BITCOIN_CONFIG="--enable-zmq --with-libs=no --enable-reduce-exports --disable-fuzz-binary LDFLAGS=-static-libstdc++ --with-boost-process" -export RUN_SYMBOL_TESTS="true" From 1592a0f92ec8531e1c1ff31e4ad61d12923f693a Mon Sep 17 00:00:00 2001 From: Kittywhiskers Van Gogh <63189531+kwvg@users.noreply.github.com> Date: Sat, 2 Nov 2024 19:32:27 +0000 Subject: [PATCH 2/2] ci: update containers and CI to use Ubuntu 22.04 LTS (`jammy`) --- .cirrus.yml | 28 +++++++++---------- .github/workflows/build.yml | 8 +++--- .gitlab-ci.yml | 2 +- contrib/containers/ci/Dockerfile | 4 +-- contrib/containers/deploy/Dockerfile | 2 +- .../deploy/Dockerfile.GitHubActions.Dispatch | 4 +-- contrib/containers/develop/Dockerfile | 2 +- contrib/containers/guix/Dockerfile | 2 +- 8 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index acc8ee6178..b74068aaa5 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -70,10 +70,10 @@ task: QEMU_USER_CMD: "" # Disable qemu and run the test natively task: - name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [focal]' + name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]' << : *GLOBAL_TASK_TEMPLATE container: - image: ubuntu:focal + image: ubuntu:jammy env: FILE_ENV: "./ci/test/00_setup_env_win64.sh" @@ -87,12 +87,12 @@ task: FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh" task: - name: '[previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [focal]' + name: '[previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [jammy]' # For faster CI feedback, immediately schedule a task that compiles most modules << : *CREDITS_TEMPLATE << : *GLOBAL_TASK_TEMPLATE container: - image: ubuntu:focal + image: ubuntu:jammy env: FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh" @@ -108,10 +108,10 @@ task: FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh" task: - name: '[depends, sanitizers: memory (MSan)] [focal]' + name: '[depends, sanitizers: memory (MSan)] [jammy]' << : *GLOBAL_TASK_TEMPLATE container: - image: ubuntu:focal + image: ubuntu:jammy env: FILE_ENV: "./ci/test/00_setup_env_native_msan.sh" @@ -124,10 +124,10 @@ task: FILE_ENV: "./ci/test/00_setup_env_native_asan.sh" task: - name: '[no depends, sanitizers: fuzzer,address,undefined,integer] [focal]' + name: '[no depends, sanitizers: fuzzer,address,undefined,integer] [jammy]' << : *GLOBAL_TASK_TEMPLATE container: - image: ubuntu:focal + image: ubuntu:jammy cpu: 4 # Increase CPU and memory to avoid timeout memory: 16G env: @@ -135,10 +135,10 @@ task: FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh" task: - name: '[multiprocess, DEBUG] [focal]' + name: '[multiprocess, DEBUG] [jammy]' << : *GLOBAL_TASK_TEMPLATE container: - image: ubuntu:focal + image: ubuntu:jammy cpu: 4 memory: 16G # The default memory is sometimes just a bit too small, so double everything env: @@ -146,18 +146,18 @@ task: FILE_ENV: "./ci/test/00_setup_env_native_multiprocess.sh" task: - name: '[no wallet] [focal]' + name: '[no wallet] [jammy]' << : *GLOBAL_TASK_TEMPLATE container: - image: ubuntu:focal + image: ubuntu:jammy env: FILE_ENV: "./ci/test/00_setup_env_native_nowallet.sh" task: - name: 'macOS 10.12 [gui, no tests] [focal]' + name: 'macOS 10.12 [gui, no tests] [jammy]' << : *GLOBAL_TASK_TEMPLATE container: - image: ubuntu:focal + image: ubuntu:jammy env: FILE_ENV: "./ci/test/00_setup_env_mac.sh" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e1ac9c50b1..7b8997dc15 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ env: jobs: build-image: name: Build Image - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 outputs: image-tag: ${{ steps.prepare.outputs.image-tag }} repo-name: ${{ steps.prepare.outputs.repo-name }} @@ -59,7 +59,7 @@ jobs: build-depends: name: Build Dependencies needs: build-image - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: @@ -116,7 +116,7 @@ jobs: build: name: Build needs: [build-image, build-depends] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: @@ -198,7 +198,7 @@ jobs: # test: # name: Test # needs: [build-image, build] -# runs-on: ubuntu-20.04 +# runs-on: ubuntu-22.04 # container: # image: ghcr.io/${{ needs.build-image.outputs.repo-name }}/dashcore-ci-runner:${{ needs.build-image.outputs.image-tag }} # options: --user root diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b4a4e68427..67b88261e5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: "ubuntu:focal" +image: "ubuntu:jammy" variables: DOCKER_DRIVER: overlay2 diff --git a/contrib/containers/ci/Dockerfile b/contrib/containers/ci/Dockerfile index 767107a4c8..d8ba16d76f 100644 --- a/contrib/containers/ci/Dockerfile +++ b/contrib/containers/ci/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:focal +FROM ubuntu:jammy # Needed to prevent tzdata hanging while expecting user input ENV DEBIAN_FRONTEND="noninteractive" TZ="Europe/London" @@ -11,7 +11,7 @@ ENV APT_ARGS="-y --no-install-recommends --no-upgrade" # Install packages for i386; disabled on aarch64 and arm64 hosts RUN (dpkg --print-architecture | grep -Eq 'aarch64|arm64' || dpkg --add-architecture i386) RUN (dpkg --print-architecture | grep -Eq 'aarch64|arm64' || (apt-get update && apt-get install $APT_ARGS \ - g++-9-multilib \ + g++-multilib \ wine32) && rm -rf /var/lib/apt/lists/*) RUN apt-get update && apt-get install $APT_ARGS \ diff --git a/contrib/containers/deploy/Dockerfile b/contrib/containers/deploy/Dockerfile index f5008e6bb2..06e9b6aacf 100644 --- a/contrib/containers/deploy/Dockerfile +++ b/contrib/containers/deploy/Dockerfile @@ -1,4 +1,4 @@ -FROM phusion/baseimage:focal-1.0.0 +FROM phusion/baseimage:jammy-1.0.4 LABEL maintainer="Dash Developers " LABEL description="Dockerised DashCore, built from CI" diff --git a/contrib/containers/deploy/Dockerfile.GitHubActions.Dispatch b/contrib/containers/deploy/Dockerfile.GitHubActions.Dispatch index 479b7f9874..4db05ed6c2 100644 --- a/contrib/containers/deploy/Dockerfile.GitHubActions.Dispatch +++ b/contrib/containers/deploy/Dockerfile.GitHubActions.Dispatch @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1.3 -FROM --platform=$BUILDPLATFORM ubuntu:focal as builder +FROM --platform=$BUILDPLATFORM ubuntu:jammy as builder RUN apt-get update && \ apt-get -y install --no-install-recommends \ automake \ @@ -42,7 +42,7 @@ RUN mkdir built-target && \ "linux/amd64") cp depends/x86_64-pc-linux-gnu/bin/dash* /home/dash/built-target ;; \ esac -FROM ubuntu:focal +FROM ubuntu:jammy LABEL maintainer="Dash Developers " LABEL description="Dockerised DashCore" diff --git a/contrib/containers/develop/Dockerfile b/contrib/containers/develop/Dockerfile index 8268c97e5d..e6157e09c9 100644 --- a/contrib/containers/develop/Dockerfile +++ b/contrib/containers/develop/Dockerfile @@ -1,6 +1,6 @@ # syntax = edrevo/dockerfile-plus -FROM ubuntu:focal +FROM ubuntu:jammy INCLUDE+ ci/Dockerfile diff --git a/contrib/containers/guix/Dockerfile b/contrib/containers/guix/Dockerfile index ccaab199f1..102b5162c8 100644 --- a/contrib/containers/guix/Dockerfile +++ b/contrib/containers/guix/Dockerfile @@ -2,7 +2,7 @@ # to use 'docker compose run guix_ubuntu' to drop into an # interactive shell -FROM ubuntu:focal +FROM ubuntu:jammy SHELL ["/bin/bash", "-c"]