Remove PG12 support from github workflows

This commit is contained in:
Lakshmi Narayanan Sreethar 2023-07-06 21:49:23 +05:30 committed by Lakshmi Narayanan Sreethar
parent 906bd38573
commit cdea343cc9
12 changed files with 24 additions and 104 deletions

View File

@ -10,10 +10,6 @@
# LATEST is the maximum postgres version that is supported
# ABI_MIN is the minimum postgres version required when the extension was build against LATEST
PG12_EARLIEST = "12.0"
PG12_LATEST = "12.15"
PG12_ABI_MIN = "12.8"
PG13_EARLIEST = "13.2"
PG13_LATEST = "13.11"
PG13_ABI_MIN = "13.5"
@ -26,4 +22,4 @@ PG15_EARLIEST = "15.0"
PG15_LATEST = "15.3"
PG15_ABI_MIN = "15.0"
PG_LATEST = [PG12_LATEST, PG13_LATEST, PG14_LATEST, PG15_LATEST]
PG_LATEST = [PG13_LATEST, PG14_LATEST, PG15_LATEST]

View File

@ -26,8 +26,6 @@ import json
import os
import subprocess
from ci_settings import (
PG12_EARLIEST,
PG12_LATEST,
PG13_EARLIEST,
PG13_LATEST,
PG14_EARLIEST,
@ -144,7 +142,6 @@ def macos_config(overrides):
"compressed_collation",
},
"os": "macos-11",
"pg": PG12_LATEST,
"pg_extra_args": "--with-libraries=/usr/local/opt/openssl/lib --with-includes=/usr/local/opt/openssl/include",
"pginstallcheck": True,
"tsdb_build_args": "-DASSERTIONS=ON -DREQUIRE_ALL_TESTS=ON -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl",
@ -172,10 +169,6 @@ if event_type == "pull_request":
}
# always test debug build on latest of all supported pg versions
m["include"].append(
build_debug_config({"pg": PG12_LATEST, "ignored_tests": ignored_tests})
)
m["include"].append(
build_debug_config(
{
@ -195,7 +188,7 @@ m["include"].append(
build_debug_config({"pg": PG15_LATEST, "ignored_tests": ignored_tests})
)
# test latest postgres release in MacOS
# test timescaledb with release config on latest postgres release in MacOS
m["include"].append(
build_release_config(
macos_config({"pg": PG15_LATEST, "ignored_tests": ignored_tests})
@ -210,24 +203,6 @@ m["include"].append(
# to a specific branch like prerelease_test we add additional
# entries to the matrix
if event_type != "pull_request":
# add debug test for first supported PG12 version
# most of the IGNORES are the isolation tests because the output format has changed between versions
# chunk_utils, telemetry and tablespace are skipped because of use after free bugs in postgres 12.0 which those tests hit
pg12_debug_earliest = {
"pg": PG12_EARLIEST,
# The early releases don't build with llvm 14.
"pg_extra_args": "--enable-debug --enable-cassert --without-llvm",
"skipped_tests": {"chunk_utils", "tablespace", "telemetry"},
"ignored_tests": {
"cluster-12",
"cagg_policy",
"debug_notice",
"dist_gapfill_pushdown-12",
},
"tsdb_build_args": "-DWARNINGS_AS_ERRORS=ON -DASSERTIONS=ON -DPG_ISOLATION_REGRESS=OFF",
}
m["include"].append(build_debug_config(pg12_debug_earliest))
# add debug test for first supported PG13 version
pg13_debug_earliest = {
"pg": PG13_EARLIEST,
@ -259,26 +234,26 @@ if event_type != "pull_request":
build_debug_config({"pg": PG15_EARLIEST, "ignored_tests": ignored_tests})
)
# add debug test for MacOS
m["include"].append(build_debug_config(macos_config({})))
# add debug tests for timescaledb on latest postgres release in MacOS
m["include"].append(
build_debug_config(
macos_config({"pg": PG15_LATEST, "ignored_tests": ignored_tests})
)
)
# add release test for latest pg releases
m["include"].append(build_release_config({"pg": PG12_LATEST}))
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})
)
# add apache only test for latest pg
m["include"].append(build_apache_config({"pg": PG12_LATEST}))
m["include"].append(build_apache_config({"pg": PG13_LATEST}))
m["include"].append(build_apache_config({"pg": PG14_LATEST}))
m["include"].append(build_apache_config({"pg": PG15_LATEST}))
# add apache only test for latest pg versions
for PG_LATEST_VER in PG_LATEST:
m["include"].append(build_apache_config({"pg": PG_LATEST_VER}))
# to discover issues with upcoming releases we run CI against
# the stable branches of supported PG releases
m["include"].append(build_debug_config({"pg": 12, "snapshot": "snapshot"}))
m["include"].append(build_debug_config({"pg": 13, "snapshot": "snapshot"}))
m["include"].append(
build_debug_config(

View File

@ -18,11 +18,9 @@ jobs:
config:
runs-on: ubuntu-latest
outputs:
pg12_abi_min: ${{ steps.config.outputs.pg12_abi_min }}
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 }}
pg12_latest: ${{ steps.config.outputs.pg12_latest }}
pg13_latest: ${{ steps.config.outputs.pg13_latest }}
pg14_latest: ${{ steps.config.outputs.pg14_latest }}
pg15_latest: ${{ steps.config.outputs.pg15_latest }}
@ -41,18 +39,10 @@ jobs:
strategy:
fail-fast: false
matrix:
test: [ "12backward", "12forward", "13backward", "13forward",
"14backward", "14forward", "15backward", "15forward" ]
test: [ "13backward", "13forward", "14backward", "14forward",
"15backward", "15forward" ]
os: [ windows-2019 ]
include:
- test: 12backward
pg: 12
builder: ${{ fromJson(needs.config.outputs.pg12_latest) }}
tester: ${{ fromJson(needs.config.outputs.pg12_abi_min ) }}
- test: 12forward
pg: 12
builder: ${{ fromJson(needs.config.outputs.pg12_abi_min ) }}
tester: ${{ fromJson(needs.config.outputs.pg12_latest) }}
- test: 13backward
pg: 13
builder: ${{ fromJson(needs.config.outputs.pg13_latest) }}

View File

@ -19,7 +19,7 @@ jobs:
# Debian images: 10 (buster), 11 (bullseye)
# Ubuntu images: 20.04 LTS (focal), 22.04 (jammy)
image: [ "debian:10-slim","debian:11-slim","ubuntu:focal", "ubuntu:jammy"]
pg: [ 12, 13, 14, 15 ]
pg: [ 13, 14, 15 ]
steps:
- name: Setup emulation

View File

@ -23,7 +23,7 @@ jobs:
# Debian images: 10 (buster), 11 (bullseye)
# Ubuntu images: 18.04 LTS (bionic), 20.04 LTS (focal), 21.10 (impish), 22.04 (jammy), 22.10 (kinetic)
image: [ "debian:10-slim", "debian:11-slim", "ubuntu:focal", "ubuntu:jammy", "ubuntu:kinetic"]
pg: [ 12, 13, 14, 15 ]
pg: [ 13, 14, 15 ]
license: [ "TSL", "Apache"]
include:
- license: Apache

View File

@ -36,7 +36,7 @@ jobs:
env:
DEBIAN_FRONTEND: noninteractive
IGNORES: "append-* debug_notice transparent_decompression-*
transparent_decompress_chunk-* plan_skip_scan-12 pg_dump
transparent_decompress_chunk-* pg_dump
dist_move_chunk dist_param dist_insert remote_txn telemetry"
SKIPS: chunk_adaptive histogram_test
strategy:

View File

@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
pg: [12, 13, 14, 15]
pg: [13, 14, 15]
fail-fast: false
steps:

View File

@ -20,7 +20,7 @@ jobs:
fail-fast: false
matrix:
image: [ "centos:centos7", "rockylinux:8", "rockylinux:9" ]
pg: [ 12, 13, 14, 15 ]
pg: [ 13, 14, 15 ]
license: [ "TSL", "Apache"]
include:
- license: Apache

View File

@ -43,7 +43,7 @@ jobs:
strategy:
fail-fast: false
matrix:
pg: [ 12, 13, 14, 15 ]
pg: [ 13, 14, 15 ]
os: [ windows-2022 ]
build_type: ${{ fromJson(needs.config.outputs.build_type) }}
steps:

View File

@ -21,7 +21,6 @@ jobs:
runs-on: ubuntu-latest
outputs:
build_type: ${{ steps.build_type.outputs.build_type }}
pg12_latest: ${{ steps.config.outputs.pg12_latest }}
pg13_latest: ${{ steps.config.outputs.pg13_latest }}
pg14_latest: ${{ steps.config.outputs.pg14_latest }}
pg15_latest: ${{ steps.config.outputs.pg15_latest }}
@ -49,7 +48,7 @@ jobs:
strategy:
fail-fast: false
matrix:
pg: [ 12, 13, 14, 15 ]
pg: [ 13, 14, 15 ]
os: [ windows-2022 ]
build_type: ${{ fromJson(needs.config.outputs.build_type) }}
ignores: ["chunk_adaptive metadata telemetry"]
@ -58,9 +57,6 @@ jobs:
data_fetcher dist_compression dist_remote_error remote_txn"]
pg_config: ["-cfsync=off -cstatement_timeout=60s"]
include:
- pg: 12
pkg_version: ${{ fromJson(needs.config.outputs.pg12_latest) }}
tsl_skips_version: dist_partial_agg-12
- pg: 13
pkg_version: ${{ fromJson(needs.config.outputs.pg13_latest) }}
tsl_skips_version: dist_grant-13 dist_partial_agg-13
@ -148,7 +144,6 @@ jobs:
run: cmake --install build_win --config ${{ matrix.build_type }}
- name: Setup postgres cluster
if: matrix.pg != '12'
run: |
~/PostgreSQL/${{ matrix.pg }}/bin/initdb -U postgres -A trust --locale=us --encoding=UTF8
mkdir -p ${{ env.TABLESPACE1 }}\_default
@ -172,14 +167,12 @@ jobs:
~/PostgreSQL/${{ matrix.pg }}/bin/psql -U postgres -d postgres -c 'SHOW data_directory;'
- name: Install postgres for test runner
if: matrix.pg != '12'
shell: wsl-bash {0}
run: |
yes | /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh || true
apt-get install -y --force-yes postgresql-server-dev-${{ matrix.pg }}
- name: Run tests
if: matrix.pg != '12'
shell: wsl-bash {0}
run: |
export TEST_TABLESPACE1_PREFIX='${{ env.TABLESPACE1 }}'
@ -195,7 +188,6 @@ jobs:
make -C build_wsl regresschecklocal IGNORES="${{ matrix.ignores }}" | tee -a installcheck.log
- name: Setup postgres cluster for TSL tests
if: matrix.pg != '12'
run: |
~/PostgreSQL/${{ matrix.pg }}/bin/pg_ctl stop
timeout 10
@ -208,7 +200,6 @@ jobs:
~/PostgreSQL/${{ matrix.pg }}/bin/psql -U postgres -d postgres -c 'CREATE USER root SUPERUSER LOGIN;'
- name: Run TSL tests
if: matrix.pg != '12'
shell: wsl-bash {0}
run: |
export TEST_TABLESPACE1_PREFIX='${{ env.TABLESPACE1 }}'
@ -226,7 +217,7 @@ jobs:
- name: Show regression diffs
id: collectlogs
if: always() && matrix.pg != '12'
if: always()
env:
WSLENV: GITHUB_OUTPUT/p
shell: wsl-bash {0}
@ -237,7 +228,7 @@ jobs:
cat regression.log
- name: Save regression diffs
if: always() && matrix.pg != '12' && steps.collectlogs.outputs.regression_diff == 'true'
if: always() && steps.collectlogs.outputs.regression_diff == 'true'
uses: actions/upload-artifact@v3
with:
name: Regression diff ${{ matrix.os }} ${{ matrix.name }} ${{ matrix.pg }}
@ -253,7 +244,7 @@ jobs:
path: postgres.log
- name: Upload test results to the database
if: always() && matrix.pg != '12'
if: always()
shell: wsl-bash {0}
env:
# Update when adding new variables.

View File

@ -14,11 +14,9 @@ jobs:
config:
runs-on: ubuntu-latest
outputs:
pg12_earliest: ${{ steps.config.outputs.pg12_abi_min }}
pg13_earliest: ${{ steps.config.outputs.pg13_abi_min }}
pg14_earliest: ${{ steps.config.outputs.pg14_abi_min }}
pg15_earliest: ${{ steps.config.outputs.pg15_abi_min }}
pg12_latest: ${{ steps.config.outputs.pg12_latest }}
pg13_latest: ${{ steps.config.outputs.pg13_latest }}
pg14_latest: ${{ steps.config.outputs.pg14_latest }}
pg15_latest: ${{ steps.config.outputs.pg15_latest }}
@ -38,14 +36,8 @@ jobs:
fail-fast: false
matrix:
os: [ windows-2019 ]
test: [ "12min", "12max", "13min", "13max", "14min", "14max", "15min", "15max" ]
test: [ "13min", "13max", "14min", "14max", "15min", "15max" ]
include:
- test: 12min
pg: 12
pkg_version: ${{ fromJson(needs.config.outputs.pg12_earliest) }}.1
- test: 12max
pg: 12
pkg_version: ${{ fromJson(needs.config.outputs.pg12_latest) }}
- test: 13min
pg: 13
pkg_version: ${{ fromJson(needs.config.outputs.pg13_earliest) }}.1

View File

@ -1,24 +0,0 @@
// Since PG 12.3 the ereport syntax changed. This coccinelle patch checks that the used
// ereport calls work with PG < 12.3.
//
// See postgres/postgres@a86715451653c730d637847b403b0420923956f7
//
@rule_1@
constant K1;
expression E1, E2;
@@
// We pass two or more expressions to ereport
+ /*
+ * Please enclose the auxiliary ereport arguments into parentheses for
+ * compatibility with PG 12. Example:
+ *
+ * ereport(ERROR, ( errmsg(...), errdetail(...) ) );
+ * ^-----------add these---------^
+ *
+ * See https://github.com/postgres/postgres/commit/a86715451653c730d637847b403b0420923956f7
+ */
ereport(K1, E1, E2, ...);