name: pg12-test on: [push] jobs: build: name: pg12-test runs-on: ubuntu-latest steps: - name: Clone postgres repository uses: actions/checkout@v2 with: repository: 'postgres/postgres' ref: 'REL_12_STABLE' - name: Clone pg_stat_monitor repository uses: actions/checkout@v2 with: path: 'src/pg_stat_monitor' - name: Install dependencies run: | sudo apt-get update sudo apt purge postgresql-client-common postgresql-common postgresql postgresql* sudo apt-get install libreadline6-dev systemtap-sdt-dev zlib1g-dev libssl-dev libpam0g-dev python-dev bison flex libipc-run-perl -y 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: Create pgsql dir run: sudo mkdir -p /opt/pgsql - name: Build postgres run: | export PATH="/opt/pgsql/bin:$PATH" ./configure --enable-tap-tests --prefix=/opt/pgsql make make install - name: Start postgresql cluster run: | export PATH="/opt/pgsql/bin:$PATH" /opt/pgsql/bin/initdb -D /opt/pgsql/data /opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l logfile start - name: Build pg_stat_monitor run: | export PATH="/opt/pgsql/bin:$PATH" sudo cp /opt/pgsql/bin/pg_config /usr/bin make USE_PGXS=1 make USE_PGXS=1 install working-directory: src/pg_stat_monitor/ - name: Start pg_stat_monitor_tests run: | /opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l logfile stop echo "shared_preload_libraries = 'pg_stat_monitor'" >> /opt/pgsql/data/postgresql.conf /opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l logfile start make installcheck 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