Tests #73
This file contains hidden or 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: 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] | |
| 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) |