Skip to content

Tests

Tests #118

Workflow file for this run

name: Tests
on:
push:
branches: [main]
pull_request:
schedule:
# 16:21 UTC on Tuesdays
- cron: "21 16 * * TUE"
repository_dispatch:
types: [tests]
env:
DOCKER_BUILDKIT: 1
jobs:
build-test:
# https://wiki.postgresql.org/wiki/Apt only has packages for ubuntu LTS versions
runs-on: ubuntu-24.04
strategy:
matrix:
# Test with v16 first, for faster results: it's bundled already with GitHub image
postgresql: [16, 13, 14, 15, 17, 18]
steps:
- uses: actions/checkout@v3
- name: Install PostgreSQL
run: |
sudo apt-get update
# If needed, uninstall PostgreSQL v16 that GitHub supplies
if test "${{ matrix.postgresql }}" != 16; then
sudo pg_dropcluster 16 main --stop
sudo apt-get remove postgresql-16 postgresql-client-16
echo | sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
fi
sudo apt-get install -y \
clang-19 \
postgresql-${{ matrix.postgresql }} \
postgresql-server-dev-${{ matrix.postgresql }}
- name: Build
run: |
make
sudo make install
- name: Run installcheck
run: |
sudo pg_ctlcluster ${{ matrix.postgresql }} main start
sudo pg_lsclusters
sudo -H -u postgres createuser runner --superuser
psql postgres -xA -c 'select version()'
make installcheck || (cat regression.diffs && false)