From fcd00a45f50d03b3e61ce28cd0ee622c05c65fbd Mon Sep 17 00:00:00 2001 From: David Steele Date: Mon, 4 Aug 2025 17:42:16 -0400 Subject: [PATCH] Update user guide and tests to Ubuntu 22.04. 20.04 is EOL so update the user guide and tests to 22.04. The contributing guide was updated to 22.04 in d55836e7e. --- .cirrus.yml | 2 +- .github/workflows/test.yml | 5 +-- doc/release.pl | 2 +- doc/xml/user-guide.xml | 28 ++++++------- test/container.yaml | 1 - .../pgBackRestTest/Common/ContainerTest.pm | 2 +- test/lib/pgBackRestTest/Common/VmTest.pm | 40 ++----------------- test/src/valgrind.suppress.none | 15 ------- 8 files changed, 22 insertions(+), 73 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 2b47153eb..ebd02d8e0 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -11,7 +11,7 @@ auto_cancellation: $CIRRUS_BRANCH != 'integration' # ---------------------------------------------------------------------------------------------------------------------------------- # arm64_task: # arm_container: -# image: ubuntu:20.04 +# image: ubuntu:22.04 # cpu: 4 # memory: 2G diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c115dac2e..0065e9e17 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,14 +28,11 @@ jobs: # tackle the slowest tests first. matrix: include: - # All integration tests for oldest Debian - - param: test --vm=u20 --param=module=integration - # All tests (without coverage or valgrind) for 32-bit - param: test --vm=d11 --param=no-performance --param=no-coverage --param=no-valgrind # Debian/Ubuntu documentation - - param: doc --vm=u20 + - param: doc --vm=u22 # All integration tests - param: test --vm=u22 --param=build-package --param=module=integration diff --git a/doc/release.pl b/doc/release.pl index c056baeaf..c718ac85c 100755 --- a/doc/release.pl +++ b/doc/release.pl @@ -248,7 +248,7 @@ eval } # Generate deployment docs for Debian - if (!defined($strVm) || $strVm eq VM_U20) + if (!defined($strVm) || $strVm eq VM_U22) { &log(INFO, "Generate Debian/Ubuntu documentation"); diff --git a/doc/xml/user-guide.xml b/doc/xml/user-guide.xml index b887e0fb1..3acfcf68f 100644 --- a/doc/xml/user-guide.xml +++ b/doc/xml/user-guide.xml @@ -36,7 +36,7 @@ '{[os-type]}' eq '{[os-rhel]}' - ubuntu:20.04 + ubuntu:22.04 rockylinux/rockylinux:8 {[os-debian-title]} @@ -312,11 +312,13 @@ # Fix root tty RUN sed -i 's/^mesg n/tty -s \&\& mesg n/g' /root/.profile + # Non-interactive install + ENV DEBIAN_FRONTEND=noninteractive + # Install base packages (suppress dpkg interactive output) - RUN export DEBIAN_FRONTEND=noninteractive && \ - rm /etc/apt/apt.conf.d/70debconf && \ + RUN rm /etc/apt/apt.conf.d/70debconf && \ apt-get update && \ - apt-get install -y --no-install-recommends sudo ssh wget vim gnupg lsb-release iputils-ping ca-certificates \ + apt-get install -y --no-install-recommends sudo ssh curl vim gnupg lsb-release iputils-ping ca-certificates \ tzdata locales libssh2-1-dev 2>&1 {[sudo-disable-core-dump]} @@ -324,19 +326,17 @@ # Install CA certificate RUN update-ca-certificates + # Allow RSA keys in ssh + RUN echo 'PubkeyAcceptedAlgorithms +ssh-rsa' >> /etc/ssh/sshd_config + # Install PostgreSQL - RUN RELEASE_CODENAME=`lsb_release -c | awk '{print $2}'` && \ - echo 'deb http://apt.postgresql.org/pub/repos/apt/ '${RELEASE_CODENAME?}'-pgdg main' | \ - tee -a /etc/apt/sources.list.d/pgdg.list && \ - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - && \ - apt-get update && \ - apt-get install -y --no-install-recommends postgresql-common 2>&1 && \ - sed -i 's/^\#create\_main\_cluster.*$/create\_main\_cluster \= false/' \ - /etc/postgresql-common/createcluster.conf && \ - apt-get install -y --no-install-recommends postgresql-{[pg-version]} postgresql-{[pg-version-upgrade]} 2>&1 + RUN apt-get install -y --no-install-recommends postgresql-common 2>&1 + RUN /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y + RUN sed -i 's/^\#create\_main\_cluster.*$/create\_main\_cluster \= false/' /etc/postgresql-common/createcluster.conf + RUN apt-get install -y --no-install-recommends postgresql-{[pg-version]} postgresql-{[pg-version-upgrade]} 2>&1 # Install Azure CLI - RUN apt-get install -y azure-cli + RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash # Create an ssh key for root so all hosts can ssh to each other as root RUN \ {[ssh-key-install]} diff --git a/test/container.yaml b/test/container.yaml index b49356086..ea144d322 100644 --- a/test/container.yaml +++ b/test/container.yaml @@ -34,4 +34,3 @@ x86_64: d11: be044bf120ca3e7d8bed69d5a83b4de4926be87f rh8: 4d141c845abfbdbf402ba447cf2bd2e4357c8a63 - u20: d9618e4e2380da312152cf672ff56cfb8ec8abe2 diff --git a/test/lib/pgBackRestTest/Common/ContainerTest.pm b/test/lib/pgBackRestTest/Common/ContainerTest.pm index 1bedb0b82..4923f4b58 100644 --- a/test/lib/pgBackRestTest/Common/ContainerTest.pm +++ b/test/lib/pgBackRestTest/Common/ContainerTest.pm @@ -438,7 +438,7 @@ sub containerBuild " libbz2-dev bzip2 libyaml-dev libjson-pp-perl liblz4-dev liblz4-tool gnupg lsb-release ccache meson \\\n" . " libssh2-1-dev libcurl4-openssl-dev"; - if ($strOS eq VM_U20 || $strOS eq VM_U22) + if ($strOS eq VM_U22) { $strScript .= " valgrind"; } diff --git a/test/lib/pgBackRestTest/Common/VmTest.pm b/test/lib/pgBackRestTest/Common/VmTest.pm index e68fe940e..b1ee44a95 100644 --- a/test/lib/pgBackRestTest/Common/VmTest.pm +++ b/test/lib/pgBackRestTest/Common/VmTest.pm @@ -85,13 +85,11 @@ use constant VM_RH8 => 'rh8'; push @EXPORT, qw(VM_RH8); use constant VM_F42 => 'f42'; push @EXPORT, qw(VM_F42); -use constant VM_U20 => 'u20'; - push @EXPORT, qw(VM_U20); use constant VM_U22 => 'u22'; push @EXPORT, qw(VM_U22); # List of default test VMs -use constant VM_LIST => (VM_U20, VM_D11, VM_RH8, VM_U22); +use constant VM_LIST => (VM_D11, VM_RH8, VM_U22); push @EXPORT, qw(VM_LIST); my $oyVm = @@ -186,6 +184,7 @@ my $oyVm = PG_VERSION_14, PG_VERSION_15, PG_VERSION_16, + PG_VERSION_17, ], }, @@ -216,38 +215,6 @@ my $oyVm = ], }, - # Ubuntu 20.04 - &VM_U20 => - { - &VM_OS_BASE => VM_OS_BASE_DEBIAN, - &VM_IMAGE => 'ubuntu:20.04', - &VM_ARCH => VM_ARCH_X86_64, - &VMDEF_COVERAGE_C => true, - &VMDEF_PGSQL_BIN => '/usr/lib/postgresql/{[version]}/bin', - - &VMDEF_WITH_ZST => true, - - &VM_DB => - [ - PG_VERSION_95, - PG_VERSION_96, - PG_VERSION_10, - PG_VERSION_11, - PG_VERSION_12, - PG_VERSION_13, - PG_VERSION_14, - PG_VERSION_15, - PG_VERSION_16, - PG_VERSION_17, - ], - - &VM_DB_TEST => - [ - PG_VERSION_95, - PG_VERSION_96, - ], - }, - # Ubuntu 22.04 &VM_U22 => { @@ -276,10 +243,11 @@ my $oyVm = &VM_DB_TEST => [ + PG_VERSION_95, + PG_VERSION_96, PG_VERSION_10, PG_VERSION_11, PG_VERSION_12, - PG_VERSION_17, PG_VERSION_18, ], }, diff --git a/test/src/valgrind.suppress.none b/test/src/valgrind.suppress.none index 4ddc4bfe0..e69de29bb 100644 --- a/test/src/valgrind.suppress.none +++ b/test/src/valgrind.suppress.none @@ -1,15 +0,0 @@ -# Suppress issues in libssh2 on Ubuntu 20.04 -{ - libssh2_ubuntu_20_04 - Memcheck:Addr1 - ... - obj:/usr/lib/x86_64-linux-gnu/libssh2.so.1.0.1 - ... -} -{ - libssh2_ubuntu_20_04 - Memcheck:Leak - ... - obj:/usr/lib/x86_64-linux-gnu/libssh2.so.1.0.1 - ... -}