From 2a67297b827ec9870bdd04d96f08589f4fbc21bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADzio=20de=20Royes=20Mello?= Date: Tue, 1 Oct 2024 11:03:11 -0300 Subject: [PATCH] PG17: Enable ABI on CI Also bump alpine images from 3.18 to 3.19 since last minor PG releases are not available on 3.18 anymore. --- .github/workflows/abi.yaml | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/.github/workflows/abi.yaml b/.github/workflows/abi.yaml index 6edf1e85716..45b8b8c8f46 100644 --- a/.github/workflows/abi.yaml +++ b/.github/workflows/abi.yaml @@ -24,9 +24,11 @@ jobs: 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 }} + pg17_abi_min: ${{ steps.config.outputs.pg17_abi_min }} pg14_latest: ${{ steps.config.outputs.pg14_latest }} pg15_latest: ${{ steps.config.outputs.pg15_latest }} pg16_latest: ${{ steps.config.outputs.pg16_latest }} + pg17_latest: ${{ steps.config.outputs.pg17_latest }} steps: - name: Checkout source code @@ -43,37 +45,47 @@ jobs: fail-fast: false matrix: dir: [ "forward", "backward" ] - pg: [ 14, 15, 16 ] - os: [ windows-2019 ] + pg: [ 14, 15, 16, 17 ] include: - dir: backward pg: 14 - builder: ${{ fromJson(needs.config.outputs.pg14_latest) }}-alpine3.18 + builder: ${{ fromJson(needs.config.outputs.pg14_latest) }}-alpine3.19 tester: ${{ fromJson(needs.config.outputs.pg14_abi_min) }}-alpine ignores: memoize - dir: forward pg: 14 builder: ${{ fromJson(needs.config.outputs.pg14_abi_min) }}-alpine - tester: ${{ fromJson(needs.config.outputs.pg14_latest) }}-alpine3.18 + tester: ${{ fromJson(needs.config.outputs.pg14_latest) }}-alpine3.19 - dir: backward pg: 15 - builder: ${{ fromJson(needs.config.outputs.pg15_latest) }}-alpine3.18 + builder: ${{ fromJson(needs.config.outputs.pg15_latest) }}-alpine3.19 tester: ${{ fromJson(needs.config.outputs.pg15_abi_min) }}-alpine - dir: forward pg: 15 builder: ${{ fromJson(needs.config.outputs.pg15_abi_min) }}-alpine - tester: ${{ fromJson(needs.config.outputs.pg15_latest) }}-alpine3.18 + tester: ${{ fromJson(needs.config.outputs.pg15_latest) }}-alpine3.19 - dir: backward pg: 16 - builder: ${{ fromJson(needs.config.outputs.pg16_latest) }}-alpine3.18 + builder: ${{ fromJson(needs.config.outputs.pg16_latest) }}-alpine3.19 tester: ${{ fromJson(needs.config.outputs.pg16_abi_min) }}-alpine # this test has issues with 16.0 version of pg_dump binary - # which affects backwards test only + # which affects backwards test only ignores: pg_dump_unprivileged - dir: forward pg: 16 builder: ${{ fromJson(needs.config.outputs.pg16_abi_min) }}-alpine - tester: ${{ fromJson(needs.config.outputs.pg16_latest) }}-alpine3.18 + tester: ${{ fromJson(needs.config.outputs.pg16_latest) }}-alpine3.19 + - dir: backward + pg: 17 + builder: ${{ fromJson(needs.config.outputs.pg17_latest) }}-alpine3.19 + tester: ${{ fromJson(needs.config.outputs.pg17_abi_min) }}-alpine + # this test has issues with 16.0 version of pg_dump binary + # which affects backwards test only + # ignores: pg_dump_unprivileged + - dir: forward + pg: 17 + builder: ${{ fromJson(needs.config.outputs.pg17_abi_min) }}-alpine + tester: ${{ fromJson(needs.config.outputs.pg17_latest) }}-alpine3.19 steps: @@ -87,7 +99,7 @@ jobs: docker pull ${BUILDER_IMAGE} docker buildx imagetools inspect ${BUILDER_IMAGE} docker run -i --rm -v $(pwd):/mnt -e EXTRA_PKGS="${EXTRA_PKGS}" ${BUILDER_IMAGE} bash <<"EOF" - apk add cmake gcc make build-base krb5-dev git ${EXTRA_PKGS} + apk add cmake gcc make build-base krb5-dev git tzdata ${EXTRA_PKGS} # We run the same extension on different docker images, old versions # have OpenSSL 1.1 and the new versions have OpenSSL 3, so we try to # pin the 1.1. Note that depending on PG version, both images might @@ -111,13 +123,14 @@ jobs: docker pull ${TEST_IMAGE} docker buildx imagetools inspect ${TEST_IMAGE} docker run -i --rm -v $(pwd):/mnt -e EXTRA_PKGS="${EXTRA_PKGS}" ${TEST_IMAGE} bash <<"EOF" - apk add cmake gcc make build-base krb5-dev sudo ${EXTRA_PKGS} + apk add cmake gcc make build-base krb5-dev sudo tzdata ${EXTRA_PKGS} apk add openssl1.1-compat-dev || apk add openssl-dev cd /mnt cp build_abi/install_ext/* `pg_config --sharedir`/extension/ cp build_abi/install_lib/* `pg_config --pkglibdir` chown -R postgres /mnt set -o pipefail + [ -f /usr/bin/gmake ] || ln -s /usr/bin/make /usr/bin/gmake sudo -u postgres make -C build_abi -k regresscheck regresscheck-t \ regresscheck-shared IGNORES="${{matrix.ignores}}" | tee installcheck.log EOF