Skip to content

Commit

Permalink
Remove PG13 support
Browse files Browse the repository at this point in the history
In order to keep the number of supported PG versions more managable
remove support for PG13.
  • Loading branch information
svenklemm committed May 14, 2024
1 parent ad122ca commit 45fe836
Show file tree
Hide file tree
Showing 167 changed files with 141 additions and 82,037 deletions.
6 changes: 1 addition & 5 deletions .github/ci_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
# ABI_MIN is the minimum postgres version required when the extension was build against LATEST
#

PG13_EARLIEST = "13.2"
PG13_LATEST = "13.15"
PG13_ABI_MIN = "13.5"

PG14_EARLIEST = "14.0"
PG14_LATEST = "14.12"
PG14_ABI_MIN = "14.0"
Expand All @@ -27,4 +23,4 @@
PG16_LATEST = "16.3"
PG16_ABI_MIN = "16.0"

PG_LATEST = [PG13_LATEST, PG14_LATEST, PG15_LATEST, PG16_LATEST]
PG_LATEST = [PG14_LATEST, PG15_LATEST, PG16_LATEST]
21 changes: 0 additions & 21 deletions .github/gh_matrix_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
import os
import subprocess
from ci_settings import (
PG13_EARLIEST,
PG13_LATEST,
PG14_EARLIEST,
PG14_LATEST,
PG15_EARLIEST,
Expand Down Expand Up @@ -166,10 +164,6 @@ def macos_config(overrides):
}

# always test debug build on latest of all supported pg versions
m["include"].append(
build_debug_config({"pg": PG13_LATEST, "ignored_tests": ignored_tests})
)

m["include"].append(
build_debug_config({"pg": PG14_LATEST, "ignored_tests": ignored_tests})
)
Expand Down Expand Up @@ -207,19 +201,6 @@ def macos_config(overrides):
# to a specific branch like prerelease_test we add additional
# entries to the matrix
if not pull_request:
# add debug test for first supported PG13 version
pg13_debug_earliest = {
"pg": PG13_EARLIEST,
# The early releases don't build with llvm 14.
"pg_extra_args": "--enable-debug --enable-cassert --without-llvm",
"skipped_tests": {"001_extension"},
"ignored_tests": {
"transparent_decompress_chunk-13",
},
"tsdb_build_args": "-DWARNINGS_AS_ERRORS=ON -DASSERTIONS=ON -DPG_ISOLATION_REGRESS=OFF",
}
m["include"].append(build_debug_config(pg13_debug_earliest))

# add debug test for first supported PG14 version
m["include"].append(
build_debug_config(
Expand Down Expand Up @@ -256,7 +237,6 @@ def macos_config(overrides):
)

# add release test for latest pg releases
m["include"].append(build_release_config({"pg": PG13_LATEST}))
m["include"].append(build_release_config({"pg": PG14_LATEST}))
m["include"].append(
build_release_config({"pg": PG15_LATEST, "ignored_tests": ignored_tests})
Expand All @@ -271,7 +251,6 @@ def macos_config(overrides):

# to discover issues with upcoming releases we run CI against
# the stable branches of supported PG releases
m["include"].append(build_debug_config({"pg": 13, "snapshot": "snapshot"}))
m["include"].append(
build_debug_config(
{
Expand Down
12 changes: 1 addition & 11 deletions .github/workflows/abi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,9 @@ jobs:
config:
runs-on: ubuntu-latest
outputs:
pg13_abi_min: ${{ steps.config.outputs.pg13_abi_min }}
pg14_abi_min: ${{ steps.config.outputs.pg14_abi_min }}
pg15_abi_min: ${{ steps.config.outputs.pg15_abi_min }}
pg16_abi_min: ${{ steps.config.outputs.pg16_abi_min }}
pg13_latest: ${{ steps.config.outputs.pg13_latest }}
pg14_latest: ${{ steps.config.outputs.pg14_latest }}
pg15_latest: ${{ steps.config.outputs.pg15_latest }}
pg16_latest: ${{ steps.config.outputs.pg16_latest }}
Expand All @@ -45,17 +43,9 @@ jobs:
fail-fast: false
matrix:
dir: [ "forward", "backward" ]
pg: [ 13, 14, 15 ]
pg: [ 14, 15, 16 ]
os: [ windows-2019 ]
include:
- dir: backward
pg: 13
builder: ${{ fromJson(needs.config.outputs.pg13_latest) }}-alpine3.18
tester: ${{ fromJson(needs.config.outputs.pg13_abi_min ) }}-alpine
- dir: forward
pg: 13
builder: ${{ fromJson(needs.config.outputs.pg13_abi_min ) }}-alpine
tester: ${{ fromJson(needs.config.outputs.pg13_latest) }}-alpine3.18
- dir: backward
pg: 14
builder: ${{ fromJson(needs.config.outputs.pg14_latest) }}-alpine3.18
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/apt-arm-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
fail-fast: false
matrix:
image: [ "debian:10-slim", "debian:11-slim", "debian:12-slim", "ubuntu:20.04", "ubuntu:22.04", "ubuntu:24.04" ]
pg: [ 13, 14, 15, 16 ]
pg: [ 14, 15, 16 ]

steps:
- name: Setup emulation
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/apt-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
fail-fast: false
matrix:
image: [ "debian:10-slim", "debian:11-slim", "debian:12-slim", "ubuntu:20.04", "ubuntu:22.04", "ubuntu:24.04" ]
pg: [ 13, 14, 15, 16 ]
pg: [ 14, 15, 16 ]
license: [ "TSL", "Apache"]
include:
- license: Apache
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverity.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
fail-fast: false
matrix:
# run only on the 3 latest PG versions as we have rate limit on coverity
pg: [13, 14, 15, 16]
pg: [14, 15, 16]
os: [ubuntu-20.04]
steps:
- name: Install Dependencies
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/docker-images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,15 @@ jobs:
fail-fast: false
matrix:
image: [
"timescaledb:latest-pg13",
"timescaledb:latest-pg14",
"timescaledb:latest-pg15",
"timescaledb:latest-pg16",
"timescaledb:latest-pg13-bitnami",
"timescaledb:latest-pg14-bitnami",
"timescaledb:latest-pg15-bitnami",
"timescaledb:latest-pg16-bitnami",
"timescaledb:latest-pg13-repmgr-bitnami",
"timescaledb:latest-pg14-repmgr-bitnami",
"timescaledb:latest-pg15-repmgr-bitnami",
"timescaledb:latest-pg16-repmgr-bitnami",
"timescaledb-ha:pg13",
"timescaledb-ha:pg14",
"timescaledb-ha:pg15",
"timescaledb-ha:pg16",
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/memory-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
pg: [13, 14, 15, 16]
pg: [14, 15, 16]
fail-fast: false

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rpm-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
fail-fast: false
matrix:
image: [ "centos:centos7", "rockylinux:8", "rockylinux:9" ]
pg: [ 13, 14, 15, 16 ]
pg: [ 14, 15, 16 ]
license: [ "TSL", "Apache"]
include:
- license: Apache
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: 'ubuntu-latest'
strategy:
matrix:
pg: [13, 14, 15, 16]
pg: [14, 15, 16]
fail-fast: false
env:
PG_VERSION: ${{ matrix.pg }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows-build-and-test-ignored.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
pg: [ 13, 14, 15, 16 ]
pg: [ 14, 15, 16 ]
os: [ windows-2022 ]
build_type: ${{ fromJson(needs.config.outputs.build_type) }}
steps:
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/windows-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,14 @@ jobs:
strategy:
fail-fast: false
matrix:
pg: [ 13, 14, 15, 16 ]
pg: [ 14, 15, 16 ]
os: [ windows-2022 ]
build_type: ${{ fromJson(needs.config.outputs.build_type) }}
ignores: ["chunk_adaptive metadata telemetry"]
tsl_ignores: ["compression_algos"]
tsl_skips: ["bgw_db_scheduler bgw_db_scheduler_fixed"]
pg_config: ["-cfsync=off -cstatement_timeout=60s"]
include:
- pg: 13
tsl_skips_version: telemetry_stats-13
- pg: 14
tsl_skips_version: telemetry_stats-14
- pg: 15
Expand Down
10 changes: 1 addition & 9 deletions .github/workflows/windows-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@ jobs:
config:
runs-on: ubuntu-latest
outputs:
pg13_earliest: ${{ steps.config.outputs.pg13_abi_min }}
pg14_earliest: ${{ steps.config.outputs.pg14_abi_min }}
pg15_earliest: ${{ steps.config.outputs.pg15_abi_min }}
pg16_earliest: ${{ steps.config.outputs.pg16_abi_min }}
pg13_latest: ${{ steps.config.outputs.pg13_latest }}
pg14_latest: ${{ steps.config.outputs.pg14_latest }}
pg15_latest: ${{ steps.config.outputs.pg15_latest }}
pg16_latest: ${{ steps.config.outputs.pg16_latest }}
Expand All @@ -39,14 +37,8 @@ jobs:
fail-fast: false
matrix:
os: [ windows-2019 ]
test: [ "13min", "13max", "14min", "14max", "15min", "15max", "16min", "16max" ]
test: [ "14min", "14max", "15min", "15max", "16min", "16max" ]
include:
- test: 13min
pg: 13
pkg_version: ${{ fromJson(needs.config.outputs.pg13_earliest) }}.1
- test: 13max
pg: 13
pkg_version: 13.13.0 # hardcoded since 13.14 is not available on chocolatey
- test: 14min
pg: 14
pkg_version: ${{ fromJson(needs.config.outputs.pg14_earliest) }}.1
Expand Down
1 change: 1 addition & 0 deletions .unreleased/pr_6918
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Implements: #6918 Remove support for PG13
2 changes: 1 addition & 1 deletion scripts/test_downgrade.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ sudo make -C "${BUILD_DIR}" install > /dev/null

set +e

FROM_VERSION=${CURRENT_VERSION} TO_VERSION=${PREV_VERSION} TEST_VERSION=v8 TEST_REPAIR=false "${SCRIPT_DIR}/test_update_from_version.sh"
FROM_VERSION=${CURRENT_VERSION} TO_VERSION=${PREV_VERSION} TEST_REPAIR=false "${SCRIPT_DIR}/test_update_from_version.sh"
return_code=$?
if [ $return_code -ne 0 ]; then
echo -e "\nFailed downgrade from ${CURRENT_VERSION} to ${PREV_VERSION}\n"
Expand Down
14 changes: 2 additions & 12 deletions scripts/test_updates.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,9 @@ for version in ${ALL_VERSIONS}; do
continue
fi

if [ "${minor_version}" -eq 0 ]; then
if [ "${minor_version}" -le 4 ]; then
# not part of any valid update path
continue
elif [ "${minor_version}" -le 4 ]; then
continue
# on <= 2.4 we need to run v7 version of the update test
if [ "${PG_MAJOR_VERSION}" -le 13 ]; then
VERSIONS="${VERSIONS} ${version}"
fi
elif [ "${minor_version}" -le 8 ]; then
if [ "${PG_MAJOR_VERSION}" -le 14 ]; then
VERSIONS="${VERSIONS} ${version}"
Expand Down Expand Up @@ -93,11 +87,7 @@ if [ -n "${VERSIONS}" ]; then
for version in ${VERSIONS}; do
ts_minor_version=$(echo "${version}" | awk -F. '{print $2}')

if [ "${ts_minor_version}" -le 4 ]; then
TEST_VERSION=v7
else
TEST_VERSION=v8
fi
TEST_VERSION=v8

if [ "${ts_minor_version}" -ge 10 ]; then
TEST_REPAIR=true
Expand Down
14 changes: 0 additions & 14 deletions sql/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,6 @@ include(ScriptFiles)
# There still needs to be an entry here to build an update script for that
# version. Thus, for every new release, an entry should be added here.
set(MOD_FILES
updates/2.1.0--2.1.1.sql
updates/2.1.1--2.2.0.sql
updates/2.2.0--2.2.1.sql
updates/2.2.1--2.3.0.sql
updates/2.3.0--2.3.1.sql
updates/2.3.1--2.4.0.sql
updates/2.4.0--2.4.1.sql
updates/2.4.1--2.4.2.sql
updates/2.4.2--2.5.0.sql
updates/2.5.0--2.5.1.sql
updates/2.5.1--2.5.2.sql
updates/2.5.2--2.6.0.sql
Expand Down Expand Up @@ -55,11 +46,6 @@ set(CURRENT_REV_FILE reverse-dev.sql)
# downgrade from one version to its previous version since we do not support
# skipping versions when downgrading.
set(OLD_REV_FILES
2.3.1--2.3.0.sql
2.4.0--2.3.1.sql
2.4.1--2.4.0.sql
2.4.2--2.4.1.sql
2.5.0--2.4.2.sql
2.5.1--2.5.0.sql
2.5.2--2.5.1.sql
2.6.0--2.5.2.sql
Expand Down
9 changes: 0 additions & 9 deletions sql/updates/2.1.1--2.2.0.sql

This file was deleted.

Loading

0 comments on commit 45fe836

Please sign in to comment.