1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-07-03 00:26:59 +02:00

Update EOL Debian 10 to Debian 11/Ubuntu 20.04 in CI.

Typically we use the oldest Debian/Ubuntu to run 32-bit unit and integration tests. However, 32-bit is no longer fully supported by Ubuntu (multiple packages we need are missing) and apt.postgresql.org no longer packages for any 32-bit version.

To address these changes, do 64-bit integration testing on the oldest Debian/Ubuntu (currently Ubuntu 20.04) and 32-bit unit/integration testing on the oldest Debian (currently 11) using the included version for integration testing.
This commit is contained in:
David Steele
2024-07-15 11:53:57 +07:00
parent ce2493c3f6
commit d8ff89ae75
4 changed files with 49 additions and 25 deletions

View File

@ -28,11 +28,11 @@ jobs:
# tackle the slowest tests first. # tackle the slowest tests first.
matrix: matrix:
include: include:
# All unit tests (without coverage or valgrind) for 32-bit # All integration tests for oldest Debian
- param: test --vm=d10 --param=no-performance --param=no-coverage --param=no-valgrind --param=c-only - param: test --vm=u20 --param=module=integration
# All integration tests for 32-bit # All tests (without coverage or valgrind) for 32-bit
- param: test --vm=d10 --param=module=integration - param: test --vm=d11 --param=no-performance --param=no-coverage --param=no-valgrind
# Debian/Ubuntu documentation # Debian/Ubuntu documentation
- param: doc --vm=u20 - param: doc --vm=u20

View File

@ -12,9 +12,12 @@
# - docker login -u pgbackrest # - docker login -u pgbackrest
# - VM=XXX;DATE=YYYYMMDDX;BASE=pgbackrest/test:${VM?}-base;docker tag ${BASE?} ${BASE?}-${DATE?} && docker push ${BASE?}-${DATE?} # - VM=XXX;DATE=YYYYMMDDX;BASE=pgbackrest/test:${VM?}-base;docker tag ${BASE?} ${BASE?}-${DATE?} && docker push ${BASE?}-${DATE?}
# ********************************************************************************************************************************** # **********************************************************************************************************************************
20240715A:
x86_64:
d11: f3bc523f10e873f85b889120ea08c6c53358cc47
20240612A: 20240612A:
x86_64: x86_64:
d10: ff35751bb4be23b90441a228089d8851aad2b3a2
f40: ae6241a28e5d8a6b6060d0ef00855f519ea45c24 f40: ae6241a28e5d8a6b6060d0ef00855f519ea45c24
rh8: 84e3ece92ebc2650346a9ea783940d33ec2872db rh8: 84e3ece92ebc2650346a9ea783940d33ec2872db
u20: a754f9acc98c79a0b0ad3a39a140a752a27ac5e7 u20: a754f9acc98c79a0b0ad3a39a140a752a27ac5e7

View File

@ -483,12 +483,18 @@ sub containerBuild
$strScript .= " yum -y install postgresql-devel"; $strScript .= " yum -y install postgresql-devel";
} }
else else
{
# Install repo from apt.postgresql.org
if (vmPgRepo($strVm))
{ {
$strScript .= $strScript .=
" echo \"deb http://apt.postgresql.org/pub/repos/apt/ \$(lsb_release -s -c)-pgdg main" . " echo \"deb http://apt.postgresql.org/pub/repos/apt/ \$(lsb_release -s -c)-pgdg main" .
($strOS eq VM_U22 ? ' 17' : '') . "\" >> /etc/apt/sources.list.d/pgdg.list && \\\n" . ($strOS eq VM_U22 ? ' 17' : '') . "\" >> /etc/apt/sources.list.d/pgdg.list && \\\n" .
" wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \\\n" . " wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \\\n" .
" apt-get update && \\\n" . " apt-get update && \\\n";
}
$strScript .=
" apt-get install -y --no-install-recommends postgresql-common libpq-dev && \\\n" . " apt-get install -y --no-install-recommends postgresql-common libpq-dev && \\\n" .
" sed -i 's/^\\#create\\_main\\_cluster.*\$/create\\_main\\_cluster \\= false/' " . " sed -i 's/^\\#create\\_main\\_cluster.*\$/create\\_main\\_cluster \\= false/' " .
"/etc/postgresql-common/createcluster.conf"; "/etc/postgresql-common/createcluster.conf";

View File

@ -40,6 +40,7 @@ use constant VM_IMAGE => 'image';
push @EXPORT, qw(VM_IMAGE); push @EXPORT, qw(VM_IMAGE);
use constant VM_OS_BASE => 'os-base'; use constant VM_OS_BASE => 'os-base';
push @EXPORT, qw(VM_OS_BASE); push @EXPORT, qw(VM_OS_BASE);
use constant VMDEF_PG_REPO => 'pg-repo';
use constant VMDEF_PGSQL_BIN => 'psql-bin'; use constant VMDEF_PGSQL_BIN => 'psql-bin';
push @EXPORT, qw(VMDEF_PGSQL_BIN); push @EXPORT, qw(VMDEF_PGSQL_BIN);
use constant VMDEF_WITH_LZ4 => 'with-lz4'; use constant VMDEF_WITH_LZ4 => 'with-lz4';
@ -74,8 +75,8 @@ use constant VM_ALL => 'all';
use constant VM_NONE => 'none'; use constant VM_NONE => 'none';
push @EXPORT, qw(VM_NONE); push @EXPORT, qw(VM_NONE);
use constant VM_D10 => 'd10'; use constant VM_D11 => 'd11';
push @EXPORT, qw(VM_D10); push @EXPORT, qw(VM_D11);
use constant VM_RH8 => 'rh8'; use constant VM_RH8 => 'rh8';
push @EXPORT, qw(VM_RH8); push @EXPORT, qw(VM_RH8);
use constant VM_F40 => 'f40'; use constant VM_F40 => 'f40';
@ -86,7 +87,7 @@ use constant VM_U22 => 'u22';
push @EXPORT, qw(VM_U22); push @EXPORT, qw(VM_U22);
# List of default test VMs # List of default test VMs
use constant VM_LIST => (VM_D10, VM_RH8, VM_U22); use constant VM_LIST => (VM_U20, VM_D11, VM_RH8, VM_U22);
push @EXPORT, qw(VM_LIST); push @EXPORT, qw(VM_LIST);
my $oyVm = my $oyVm =
@ -112,29 +113,25 @@ my $oyVm =
], ],
}, },
# Debian 10 # Debian 11
&VM_D10 => &VM_D11 =>
{ {
&VM_OS_BASE => VM_OS_BASE_DEBIAN, &VM_OS_BASE => VM_OS_BASE_DEBIAN,
&VM_IMAGE => 'i386/debian:10', &VM_IMAGE => 'debian:11',
&VM_ARCH => VM_ARCH_I386, &VM_ARCH => VM_ARCH_I386,
&VMDEF_PG_REPO => false,
&VMDEF_PGSQL_BIN => '/usr/lib/postgresql/{[version]}/bin', &VMDEF_PGSQL_BIN => '/usr/lib/postgresql/{[version]}/bin',
&VMDEF_WITH_ZST => true, &VMDEF_WITH_ZST => true,
&VM_DB => &VM_DB =>
[ [
PG_VERSION_94, PG_VERSION_13,
PG_VERSION_95,
PG_VERSION_96,
PG_VERSION_10,
], ],
&VM_DB_TEST => &VM_DB_TEST =>
[ [
PG_VERSION_94, PG_VERSION_13,
PG_VERSION_96,
PG_VERSION_10,
], ],
}, },
@ -161,7 +158,6 @@ my $oyVm =
&VM_DB_TEST => &VM_DB_TEST =>
[ [
PG_VERSION_12, PG_VERSION_12,
PG_VERSION_13,
PG_VERSION_14, PG_VERSION_14,
PG_VERSION_15, PG_VERSION_15,
], ],
@ -219,9 +215,9 @@ my $oyVm =
&VM_DB_TEST => &VM_DB_TEST =>
[ [
PG_VERSION_95, PG_VERSION_94,
PG_VERSION_96, PG_VERSION_96,
PG_VERSION_15, PG_VERSION_10,
], ],
}, },
@ -329,6 +325,25 @@ sub vmValid
push @EXPORT, qw(vmValid); push @EXPORT, qw(vmValid);
####################################################################################################################################
# vmPgRepo
####################################################################################################################################
sub vmPgRepo
{
my $strVm = shift;
vmValid($strVm);
if (!defined($oyVm->{$strVm}{&VMDEF_PG_REPO}))
{
return true;
}
return $oyVm->{$strVm}{&VMDEF_PG_REPO};
}
push @EXPORT, qw(vmPgRepo);
#################################################################################################################################### ####################################################################################################################################
# vmGet # vmGet
#################################################################################################################################### ####################################################################################################################################