From 1a80932719a515c8a39d44b763ad9b105c64efea Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 4 Jul 2024 14:02:01 +0200 Subject: [PATCH 1/2] Add CI workflow for PG17 --- .github/workflows/postgresql-17-build.yml | 78 +++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .github/workflows/postgresql-17-build.yml diff --git a/.github/workflows/postgresql-17-build.yml b/.github/workflows/postgresql-17-build.yml new file mode 100644 index 0000000..84323c8 --- /dev/null +++ b/.github/workflows/postgresql-17-build.yml @@ -0,0 +1,78 @@ +name: postgresql-17-build +on: [push] + +jobs: + build: + name: pg-17-build-test + runs-on: ubuntu-22.04 + steps: + - name: Clone postgres repository + uses: actions/checkout@v4 + with: + repository: 'postgres/postgres' + path: postgres + ref: 'REL_17_BETA2' + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt purge postgresql-client-common postgresql-common \ + postgresql postgresql* + sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \ + zlib1g-dev libssl-dev libpam0g-dev bison flex \ + libipc-run-perl docbook-xsl docbook-xsl libxml2 libxml2-utils \ + libxml2-dev libxslt-dev xsltproc libkrb5-dev libldap2-dev \ + libsystemd-dev gettext tcl-dev libperl-dev pkg-config clang-11 \ + llvm-11 llvm-11-dev libselinux1-dev python3-dev uuid-dev liblz4-dev + sudo rm -rf /var/lib/postgresql /var/log/postgresql /etc/postgresql \ + /usr/lib/postgresql /usr/include/postgresql /usr/share/postgresql \ + /etc/postgresql + sudo rm -f /usr/bin/pg_config + + - name: Build postgres + run: | + export PATH="/opt/pgsql/bin:$PATH" + ./configure \ + '--enable-debug' \ + 'CFLAGS=-O0 -g3' \ + --enable-cassert \ + --enable-tap-tests \ + --without-icu + make -j4 + working-directory: postgres + + - name: Clone percona_pg_telemetry repository + uses: actions/checkout@v4 + with: + path: 'postgres/contrib/percona_pg_telemetry' + + - name: Build percona_pg_telemetry + run: | + make + sudo make install + working-directory: postgres/contrib/percona_pg_telemetry + + - name: Run percona_pg_telemetry regression + run: | + PT_DEBUG=1 make check + working-directory: postgres/contrib/percona_pg_telemetry + + - name: Upload logs on fail + if: ${{ failure() }} + uses: actions/upload-artifact@v4 + with: + name: Regressions diff and postgresql log + path: | + postgres/contrib/percona_pg_telemetry/regression.diffs + postgres/contrib/percona_pg_telemetry/regression.out + postgres/contrib/percona_pg_telemetry/logfile + postgres/contrib/percona_pg_telemetry/t/results/ + postgres/contrib/percona_pg_telemetry/tmp_check/log/ + !postgres/contrib/percona_pg_telemetry/tmp_check/**/archives/* + !postgres/contrib/percona_pg_telemetry/tmp_check/**/backup/* + !postgres/contrib/percona_pg_telemetry/tmp_check/**/pgdata/* + !postgres/contrib/percona_pg_telemetry/tmp_check/**/archives/ + !postgres/contrib/percona_pg_telemetry/tmp_check/**/backup/ + !postgres/contrib/percona_pg_telemetry/tmp_check/**/pgdata/ + if-no-files-found: warn + retention-days: 3 From 1a010b01c958603530114966a872bc52124da4d9 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 18 Jul 2024 16:57:58 +0200 Subject: [PATCH 2/2] Use REL_17_STABLE branch for PG 17 CI workflow --- .github/workflows/postgresql-17-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/postgresql-17-build.yml b/.github/workflows/postgresql-17-build.yml index 84323c8..a0fb01b 100644 --- a/.github/workflows/postgresql-17-build.yml +++ b/.github/workflows/postgresql-17-build.yml @@ -11,7 +11,7 @@ jobs: with: repository: 'postgres/postgres' path: postgres - ref: 'REL_17_BETA2' + ref: 'REL_17_STABLE' - name: Install dependencies run: |