From 58f707c6d95f94e2fb5531680490e1fdf4d1c2e6 Mon Sep 17 00:00:00 2001 From: Mikhail Samoylov Date: Sat, 28 Aug 2021 00:05:52 +0300 Subject: [PATCH] Add PPG job --- .github/workflows/ppg11test.yml | 62 +++++++++++++++++++++++++++++++++ .github/workflows/ppg12test.yml | 62 +++++++++++++++++++++++++++++++++ .github/workflows/ppg13test.yml | 62 +++++++++++++++++++++++++++++++++ README.md | 3 ++ 4 files changed, 189 insertions(+) create mode 100644 .github/workflows/ppg11test.yml create mode 100644 .github/workflows/ppg12test.yml create mode 100644 .github/workflows/ppg13test.yml diff --git a/.github/workflows/ppg11test.yml b/.github/workflows/ppg11test.yml new file mode 100644 index 0000000..47987a3 --- /dev/null +++ b/.github/workflows/ppg11test.yml @@ -0,0 +1,62 @@ +name: ppg11-test +on: [push] + +jobs: + build: + name: ppg11-test + runs-on: ubuntu-latest + steps: + - name: Clone pg_stat_monitor repository + uses: actions/checkout@v2 + with: + path: 'src/pg_stat_monitor' + + - name: Delete old postgresql files + run: | + sudo apt-get update + sudo apt purge postgresql-client-common postgresql-common postgresql postgresql* + sudo rm -rf /var/lib/postgresql/ + sudo rm -rf /var/log/postgresql/ + sudo rm -rf /etc/postgresql/ + sudo rm -rf /usr/lib/postgresql + sudo rm -rf /usr/include/postgresql + sudo rm -rf /usr/share/postgresql + sudo rm -rf /etc/postgresql + sudo rm -f /usr/bin/pg_config + + - name: Install percona-release script + run: | + sudo apt-get install gnupg2 wget -y + sudo wget https://repo.percona.com/apt/pool/testing/p/percona-release/percona-release_1.0-27.generic_all.deb + sudo dpkg -i percona-release_1.0-27.generic_all.deb + + - name: Install Percona Distribution Postgresql 11 + run: | + sudo percona-release setup ppg-11 + sudo apt-get update -y + sudo apt-get install -y percona-postgresql percona-postgresql-11 percona-postgresql-all percona-postgresql-client-11 percona-postgresql-client-common percona-postgresql-common percona-postgresql-contrib percona-postgresql-server-dev-all + sudo chown -R postgres:postgres src/ + + - name: Build pg_stat_monitor + run: | + sudo make USE_PGXS=1 + sudo make USE_PGXS=1 install + working-directory: src/pg_stat_monitor/ + + - name: Start pg_stat_monitor_tests + run: | + sudo service postgresql stop + echo "shared_preload_libraries = 'pg_stat_monitor'" | sudo tee -a /etc/postgresql/11/main/postgresql.conf + sudo service postgresql start + sudo -u postgres bash -c 'make installcheck USE_PGXS=1' + working-directory: src/pg_stat_monitor/ + + - name: Report on test fail + uses: actions/upload-artifact@v2 + if: ${{ failure() }} + with: + name: Regressions diff and postgresql log + path: | + src/pg_stat_monitor/regression.diffs + src/pg_stat_monitor/logfile + retention-days: 1 diff --git a/.github/workflows/ppg12test.yml b/.github/workflows/ppg12test.yml new file mode 100644 index 0000000..1224b86 --- /dev/null +++ b/.github/workflows/ppg12test.yml @@ -0,0 +1,62 @@ +name: ppg12-test +on: [push] + +jobs: + build: + name: ppg12-test + runs-on: ubuntu-latest + steps: + - name: Clone pg_stat_monitor repository + uses: actions/checkout@v2 + with: + path: 'src/pg_stat_monitor' + + - name: Delete old postgresql files + run: | + sudo apt-get update + sudo apt purge postgresql-client-common postgresql-common postgresql postgresql* + sudo rm -rf /var/lib/postgresql/ + sudo rm -rf /var/log/postgresql/ + sudo rm -rf /etc/postgresql/ + sudo rm -rf /usr/lib/postgresql + sudo rm -rf /usr/include/postgresql + sudo rm -rf /usr/share/postgresql + sudo rm -rf /etc/postgresql + sudo rm -f /usr/bin/pg_config + + - name: Install percona-release script + run: | + sudo apt-get install gnupg2 wget -y + sudo wget https://repo.percona.com/apt/pool/testing/p/percona-release/percona-release_1.0-27.generic_all.deb + sudo dpkg -i percona-release_1.0-27.generic_all.deb + + - name: Install Percona Distribution Postgresql 12 + run: | + sudo percona-release setup ppg-12 + sudo apt-get update -y + sudo apt-get install -y percona-postgresql percona-postgresql-12 percona-postgresql-all percona-postgresql-client-12 percona-postgresql-client-common percona-postgresql-common percona-postgresql-contrib percona-postgresql-server-dev-all + sudo chown -R postgres:postgres src/ + + - name: Build pg_stat_monitor + run: | + sudo make USE_PGXS=1 + sudo make USE_PGXS=1 install + working-directory: src/pg_stat_monitor/ + + - name: Start pg_stat_monitor_tests + run: | + sudo service postgresql stop + echo "shared_preload_libraries = 'pg_stat_monitor'" | sudo tee -a /etc/postgresql/12/main/postgresql.conf + sudo service postgresql start + sudo -u postgres bash -c 'make installcheck USE_PGXS=1' + working-directory: src/pg_stat_monitor/ + + - name: Report on test fail + uses: actions/upload-artifact@v2 + if: ${{ failure() }} + with: + name: Regressions diff and postgresql log + path: | + src/pg_stat_monitor/regression.diffs + src/pg_stat_monitor/logfile + retention-days: 1 diff --git a/.github/workflows/ppg13test.yml b/.github/workflows/ppg13test.yml new file mode 100644 index 0000000..713432c --- /dev/null +++ b/.github/workflows/ppg13test.yml @@ -0,0 +1,62 @@ +name: ppg13-test +on: [push] + +jobs: + build: + name: ppg13-test + runs-on: ubuntu-latest + steps: + - name: Clone pg_stat_monitor repository + uses: actions/checkout@v2 + with: + path: 'src/pg_stat_monitor' + + - name: Delete old postgresql files + run: | + sudo apt-get update + sudo apt purge postgresql-client-common postgresql-common postgresql postgresql* + sudo rm -rf /var/lib/postgresql/ + sudo rm -rf /var/log/postgresql/ + sudo rm -rf /etc/postgresql/ + sudo rm -rf /usr/lib/postgresql + sudo rm -rf /usr/include/postgresql + sudo rm -rf /usr/share/postgresql + sudo rm -rf /etc/postgresql + sudo rm -f /usr/bin/pg_config + + - name: Install percona-release script + run: | + sudo apt-get install gnupg2 wget -y + sudo wget https://repo.percona.com/apt/pool/testing/p/percona-release/percona-release_1.0-27.generic_all.deb + sudo dpkg -i percona-release_1.0-27.generic_all.deb + + - name: Install Percona Distribution Postgresql 13 + run: | + sudo percona-release setup ppg-13 + sudo apt-get update -y + sudo apt-get install -y percona-postgresql percona-postgresql-13 percona-postgresql-all percona-postgresql-client-13 percona-postgresql-client-common percona-postgresql-common percona-postgresql-contrib percona-postgresql-server-dev-all + sudo chown -R postgres:postgres src/ + + - name: Build pg_stat_monitor + run: | + sudo make USE_PGXS=1 + sudo make USE_PGXS=1 install + working-directory: src/pg_stat_monitor/ + + - name: Start pg_stat_monitor_tests + run: | + sudo service postgresql stop + echo "shared_preload_libraries = 'pg_stat_monitor'" | sudo tee -a /etc/postgresql/13/main/postgresql.conf + sudo service postgresql start + sudo -u postgres bash -c 'make installcheck USE_PGXS=1' + working-directory: src/pg_stat_monitor/ + + - name: Report on test fail + uses: actions/upload-artifact@v2 + if: ${{ failure() }} + with: + name: Regressions diff and postgresql log + path: | + src/pg_stat_monitor/regression.diffs + src/pg_stat_monitor/logfile + retention-days: 1 diff --git a/README.md b/README.md index 263ea19..02510b3 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ ![pg12-test](https://github.com/percona/pg_stat_monitor/workflows/pg12-test/badge.svg) ![pg13-test](https://github.com/percona/pg_stat_monitor/workflows/pg13-test/badge.svg) ![pg14-test](https://github.com/percona/pg_stat_monitor/workflows/pg14-test/badge.svg) +![ppg11-test](https://github.com/percona/pg_stat_monitor/workflows/ppg11-test/badge.svg) +![ppg12-test](https://github.com/percona/pg_stat_monitor/workflows/ppg12-test/badge.svg) +![ppg13-test](https://github.com/percona/pg_stat_monitor/workflows/ppg13-test/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/percona/pg_stat_monitor/badge.svg)](https://coveralls.io/github/percona/pg_stat_monitor)