diff --git a/.github/workflows/postgresql-12-build.yml b/.github/workflows/postgresql-12-build.yml new file mode 100644 index 0000000..ad0b81b --- /dev/null +++ b/.github/workflows/postgresql-12-build.yml @@ -0,0 +1,78 @@ +name: postgresql-12-build +on: [push] + +jobs: + build: + name: pg-12-build-test + runs-on: ubuntu-22.04 + steps: + - name: Clone postgres repository + uses: actions/checkout@v3 + with: + repository: 'postgres/postgres' + path: postgres + ref: 'REL_12_STABLE' + + - 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_telemetry repository + uses: actions/checkout@v3 + with: + path: 'postgres/contrib/percona_telemetry' + + - name: Build percona_telemetry + run: | + make + sudo make install + working-directory: postgres/contrib/percona_telemetry + + - name: Run percona_telemetry regression + run: | + PT_DEBUG=1 make check + working-directory: postgres/contrib/percona_telemetry + + - name: Upload logs on fail + if: ${{ failure() }} + uses: actions/upload-artifact@v3 + with: + name: Regressions diff and postgresql log + path: | + postgres/contrib/percona_telemetry/regression.diffs + postgres/contrib/percona_telemetry/regression.out + postgres/contrib/percona_telemetry/logfile + postgres/contrib/percona_telemetry/t/results/ + postgres/contrib/percona_telemetry/tmp_check/log/ + !postgres/contrib/percona_telemetry/tmp_check/**/archives/* + !postgres/contrib/percona_telemetry/tmp_check/**/backup/* + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/* + !postgres/contrib/percona_telemetry/tmp_check/**/archives/ + !postgres/contrib/percona_telemetry/tmp_check/**/backup/ + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/ + if-no-files-found: warn + retention-days: 3 diff --git a/.github/workflows/postgresql-13-build.yml b/.github/workflows/postgresql-13-build.yml new file mode 100644 index 0000000..9211bf5 --- /dev/null +++ b/.github/workflows/postgresql-13-build.yml @@ -0,0 +1,78 @@ +name: postgresql-13-build +on: [push] + +jobs: + build: + name: pg-13-build-test + runs-on: ubuntu-22.04 + steps: + - name: Clone postgres repository + uses: actions/checkout@v3 + with: + repository: 'postgres/postgres' + path: postgres + ref: 'REL_13_STABLE' + + - 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_telemetry repository + uses: actions/checkout@v3 + with: + path: 'postgres/contrib/percona_telemetry' + + - name: Build percona_telemetry + run: | + make + sudo make install + working-directory: postgres/contrib/percona_telemetry + + - name: Run percona_telemetry regression + run: | + PT_DEBUG=1 make check + working-directory: postgres/contrib/percona_telemetry + + - name: Upload logs on fail + if: ${{ failure() }} + uses: actions/upload-artifact@v3 + with: + name: Regressions diff and postgresql log + path: | + postgres/contrib/percona_telemetry/regression.diffs + postgres/contrib/percona_telemetry/regression.out + postgres/contrib/percona_telemetry/logfile + postgres/contrib/percona_telemetry/t/results/ + postgres/contrib/percona_telemetry/tmp_check/log/ + !postgres/contrib/percona_telemetry/tmp_check/**/archives/* + !postgres/contrib/percona_telemetry/tmp_check/**/backup/* + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/* + !postgres/contrib/percona_telemetry/tmp_check/**/archives/ + !postgres/contrib/percona_telemetry/tmp_check/**/backup/ + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/ + if-no-files-found: warn + retention-days: 3 diff --git a/.github/workflows/postgresql-14-build.yml b/.github/workflows/postgresql-14-build.yml new file mode 100644 index 0000000..6cd32b8 --- /dev/null +++ b/.github/workflows/postgresql-14-build.yml @@ -0,0 +1,78 @@ +name: postgresql-14-build +on: [push] + +jobs: + build: + name: pg-14-build-test + runs-on: ubuntu-22.04 + steps: + - name: Clone postgres repository + uses: actions/checkout@v3 + with: + repository: 'postgres/postgres' + path: postgres + ref: 'REL_14_STABLE' + + - 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_telemetry repository + uses: actions/checkout@v3 + with: + path: 'postgres/contrib/percona_telemetry' + + - name: Build percona_telemetry + run: | + make + sudo make install + working-directory: postgres/contrib/percona_telemetry + + - name: Run percona_telemetry regression + run: | + PT_DEBUG=1 make check + working-directory: postgres/contrib/percona_telemetry + + - name: Upload logs on fail + if: ${{ failure() }} + uses: actions/upload-artifact@v3 + with: + name: Regressions diff and postgresql log + path: | + postgres/contrib/percona_telemetry/regression.diffs + postgres/contrib/percona_telemetry/regression.out + postgres/contrib/percona_telemetry/logfile + postgres/contrib/percona_telemetry/t/results/ + postgres/contrib/percona_telemetry/tmp_check/log/ + !postgres/contrib/percona_telemetry/tmp_check/**/archives/* + !postgres/contrib/percona_telemetry/tmp_check/**/backup/* + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/* + !postgres/contrib/percona_telemetry/tmp_check/**/archives/ + !postgres/contrib/percona_telemetry/tmp_check/**/backup/ + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/ + if-no-files-found: warn + retention-days: 3 diff --git a/.github/workflows/postgresql-15-build.yml b/.github/workflows/postgresql-15-build.yml new file mode 100644 index 0000000..2323f42 --- /dev/null +++ b/.github/workflows/postgresql-15-build.yml @@ -0,0 +1,78 @@ +name: postgresql-15-build +on: [push] + +jobs: + build: + name: pg-15-build-test + runs-on: ubuntu-22.04 + steps: + - name: Clone postgres repository + uses: actions/checkout@v3 + with: + repository: 'postgres/postgres' + path: postgres + ref: 'REL_15_STABLE' + + - 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_telemetry repository + uses: actions/checkout@v3 + with: + path: 'postgres/contrib/percona_telemetry' + + - name: Build percona_telemetry + run: | + make + sudo make install + working-directory: postgres/contrib/percona_telemetry + + - name: Run percona_telemetry regression + run: | + PT_DEBUG=1 make check + working-directory: postgres/contrib/percona_telemetry + + - name: Upload logs on fail + if: ${{ failure() }} + uses: actions/upload-artifact@v3 + with: + name: Regressions diff and postgresql log + path: | + postgres/contrib/percona_telemetry/regression.diffs + postgres/contrib/percona_telemetry/regression.out + postgres/contrib/percona_telemetry/logfile + postgres/contrib/percona_telemetry/t/results/ + postgres/contrib/percona_telemetry/tmp_check/log/ + !postgres/contrib/percona_telemetry/tmp_check/**/archives/* + !postgres/contrib/percona_telemetry/tmp_check/**/backup/* + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/* + !postgres/contrib/percona_telemetry/tmp_check/**/archives/ + !postgres/contrib/percona_telemetry/tmp_check/**/backup/ + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/ + if-no-files-found: warn + retention-days: 3 diff --git a/.github/workflows/postgresql-16-build.yml b/.github/workflows/postgresql-16-build.yml new file mode 100644 index 0000000..72c873f --- /dev/null +++ b/.github/workflows/postgresql-16-build.yml @@ -0,0 +1,78 @@ +name: postgresql-16-build +on: [push] + +jobs: + build: + name: pg-16-build-test + runs-on: ubuntu-22.04 + steps: + - name: Clone postgres repository + uses: actions/checkout@v3 + with: + repository: 'postgres/postgres' + path: postgres + ref: 'REL_16_STABLE' + + - 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_telemetry repository + uses: actions/checkout@v3 + with: + path: 'postgres/contrib/percona_telemetry' + + - name: Build percona_telemetry + run: | + make + sudo make install + working-directory: postgres/contrib/percona_telemetry + + - name: Run percona_telemetry regression + run: | + PT_DEBUG=1 make check + working-directory: postgres/contrib/percona_telemetry + + - name: Upload logs on fail + if: ${{ failure() }} + uses: actions/upload-artifact@v3 + with: + name: Regressions diff and postgresql log + path: | + postgres/contrib/percona_telemetry/regression.diffs + postgres/contrib/percona_telemetry/regression.out + postgres/contrib/percona_telemetry/logfile + postgres/contrib/percona_telemetry/t/results/ + postgres/contrib/percona_telemetry/tmp_check/log/ + !postgres/contrib/percona_telemetry/tmp_check/**/archives/* + !postgres/contrib/percona_telemetry/tmp_check/**/backup/* + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/* + !postgres/contrib/percona_telemetry/tmp_check/**/archives/ + !postgres/contrib/percona_telemetry/tmp_check/**/backup/ + !postgres/contrib/percona_telemetry/tmp_check/**/pgdata/ + if-no-files-found: warn + retention-days: 3