name: Build

on:
  pull_request:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest

    defaults:
      run:
        shell: sh

    strategy:
      matrix:
        pgversion:
          - 18
          - 17
          - 16
          - 15
          - 14

    env:
      PGVERSION: ${{ matrix.pgversion }}

    steps:
    - name: checkout
      uses: actions/checkout@v4

    - name: install pg
      run: |
        sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -v $PGVERSION -p -i
        sudo -u postgres createuser -s "$USER"

    - name: build
      run: |
        make PROFILE="-Werror"
        sudo -E make install

    - name: test
      run: |
        sudo pg_conftool set shared_preload_libraries pg_show_plans
        sudo pg_ctlcluster $PGVERSION main restart
        make installcheck

    - name: show regression diffs
      if: ${{ failure() }}
      run: |
        cat regression.diffs
