You've already forked pgbackrest
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:
8
.github/workflows/test.yml
vendored
8
.github/workflows/test.yml
vendored
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -484,11 +484,17 @@ sub containerBuild
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
# Install repo from apt.postgresql.org
|
||||||
|
if (vmPgRepo($strVm))
|
||||||
|
{
|
||||||
|
$strScript .=
|
||||||
|
" 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" .
|
||||||
|
" wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \\\n" .
|
||||||
|
" apt-get update && \\\n";
|
||||||
|
}
|
||||||
|
|
||||||
$strScript .=
|
$strScript .=
|
||||||
" 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" .
|
|
||||||
" wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \\\n" .
|
|
||||||
" apt-get update && \\\n" .
|
|
||||||
" 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";
|
||||||
|
@ -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
|
||||||
####################################################################################################################################
|
####################################################################################################################################
|
||||||
|
Reference in New Issue
Block a user