From 873fc9b184f176bb897cfea1bf7e67761b88beda Mon Sep 17 00:00:00 2001 From: Feike Steenbergen Date: Thu, 12 Oct 2023 14:37:05 +0200 Subject: [PATCH] Ensure PostgreSQL 16 is available in Docker --- .github/workflows/ci.yml | 2 +- docker/ci/setup.sh | 16 ++++++++++++---- tools/dependencies.sh | 7 ++++--- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f85cb9c..6404eb6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,7 @@ jobs: fail-fast: false max-parallel: 12 matrix: - pgversion: [12, 13, 14, 15] + pgversion: [12, 13, 14, 15, 16] container: "${{ \ ( \ inputs.all-platforms || \ diff --git a/docker/ci/setup.sh b/docker/ci/setup.sh index 651c0074..5fca0c73 100755 --- a/docker/ci/setup.sh +++ b/docker/ci/setup.sh @@ -54,6 +54,8 @@ if $privileged; then centos | rockylinux) case $OS_VERSION in 7) + # PostgreSQL packages for 16+ are not available here + PG_VERSIONS="${RHEL7_PG_VERSIONS}" # Postgresql packages require both # - llvm-toolset-7-clang from centos-release-scl-rh # - llvm5.0-devel from epel-release @@ -133,10 +135,13 @@ EOF for pg in $PG_VERSIONS; do yum -q -y install \ postgresql$pg-devel \ - postgresql$pg-server \ - timescaledb-2-postgresql-$pg + postgresql$pg-server # We install as user postgres, so that needs write access to these. chown $BUILDER_USERNAME $PG_BASE$pg/lib $PG_BASE$pg/share/extension + done; + + for pg in $TSDB_PG_VERSIONS; do + yum -q -y install timescaledb-2-postgresql-$pg done gem install fpm -v $FPM_VERSION -N @@ -198,12 +203,15 @@ EOF apt-get -qq install \ postgresql-$pg \ postgresql-server-dev-$pg - # timescaledb packages Recommend toolkit, which we don't want here. - apt-get -qq install --no-install-recommends timescaledb-2-postgresql-$pg # We install as user postgres, so that needs write access to these. chown $BUILDER_USERNAME $PG_BASE$pg/lib /usr/share/postgresql/$pg/extension done + for pg in $TSDB_PG_VERSIONS; do + # timescaledb packages Recommend toolkit, which we don't want here. + apt-get -qq install --no-install-recommends timescaledb-2-postgresql-$pg + done + # Ubuntu is the only system we want an image for that sticks an extra # copy of the default PATH into PAM's /etc/environment and we su or sudo # to $BUILDER_USERNAME thereby picking up that PATH and clobbering the diff --git a/tools/dependencies.sh b/tools/dependencies.sh index 22964905..aa1405d9 100644 --- a/tools/dependencies.sh +++ b/tools/dependencies.sh @@ -7,9 +7,10 @@ # All our automation scripts read this, so at least we're not duplicating this # information across all those. -PG_VERSIONS='12 13 14 15' -# TODO: remove this once TimescaleDB supports PostgreSQL 15: issue #648 -TSDB_PG_VERSIONS='12 13 14' +PG_VERSIONS='12 13 14 15 16' +RHEL7_PG_VERSIONS='12 13 14 15' +# TODO: remove this once TimescaleDB supports PostgreSQL 16: issue #5752 +TSDB_PG_VERSIONS='12 13 14 15' CARGO_EDIT=0.11.2