Tune CI triggers #77
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: postgresql-16-pgdg-package | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
tags: | |
- '[0-9]+.[0-9]+.[0-9]+*' | |
jobs: | |
build: | |
name: pg-16-pgdg-package-test | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Clone pg_stat_monitor repository | |
uses: actions/checkout@v4 | |
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 apt-get install -y libreadline6-dev systemtap-sdt-dev wget \ | |
zlib1g-dev libssl-dev libpam0g-dev bison flex libipc-run-perl | |
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 | |
sudo /usr/bin/perl -MCPAN -e 'install IPC::Run' | |
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim' | |
- name: Install PG Distribution Postgresql 16 | |
run: | | |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt \ | |
$(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' | |
sudo wget --quiet -O - \ | |
https://www.postgresql.org/media/keys/ACCC4CF8.asc | | |
sudo apt-key add - | |
sudo apt update | |
sudo apt -y install postgresql-16 postgresql-server-dev-16 | |
- name: Change src owner to postgres | |
run: | | |
sudo chmod o+rx ~ | |
sudo chown -R postgres:postgres src | |
- name: Build pg_stat_monitor | |
run: | | |
sudo -u postgres bash -c '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/16/main/postgresql.conf | |
sudo service postgresql start | |
sudo psql -V | |
export PG_TEST_PORT_DIR=${GITHUB_WORKSPACE}/src/pg_stat_monitor | |
echo $PG_TEST_PORT_DIR | |
sudo -E -u postgres bash -c 'make installcheck USE_PGXS=1' | |
working-directory: src/pg_stat_monitor | |
- name: Change dir permissions on fail | |
if: ${{ failure() }} | |
run: | | |
sudo chmod -R ugo+rwx t | |
sudo chmod -R ugo+rwx tmp_check | |
exit 2 # regenerate error so that we can upload files in next step | |
working-directory: src/pg_stat_monitor | |
- name: Upload logs on fail | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Regressions diff and postgresql log | |
path: | | |
src/pg_stat_monitor/regression.diffs | |
src/pg_stat_monitor/regression.out | |
src/pg_stat_monitor/logfile | |
src/pg_stat_monitor/t/results/ | |
src/pg_stat_monitor/tmp_check/log/ | |
!src/pg_stat_monitor/tmp_check/**/archives/* | |
!src/pg_stat_monitor/tmp_check/**/backup/* | |
!src/pg_stat_monitor/tmp_check/**/pgdata/* | |
!src/pg_stat_monitor/tmp_check/**/archives/ | |
!src/pg_stat_monitor/tmp_check/**/backup/ | |
!src/pg_stat_monitor/tmp_check/**/pgdata/ | |
if-no-files-found: warn | |
retention-days: 3 |