diff --git a/.github/workflows/code_layout.yml b/.github/workflows/code_layout.yml index 5516ada8..9e170a28 100644 --- a/.github/workflows/code_layout.yml +++ b/.github/workflows/code_layout.yml @@ -9,7 +9,7 @@ on: jobs: c_code_layout: name: C linter - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Check out repository code uses: actions/checkout@v2 diff --git a/.github/workflows/jammy_postgres18_postgis33.yml b/.github/workflows/jammy_postgres18_postgis33.yml new file mode 100644 index 00000000..a7e39537 --- /dev/null +++ b/.github/workflows/jammy_postgres18_postgis33.yml @@ -0,0 +1,28 @@ +name: "[ubuntu-22.04] PostgreSQL 18 and PostGIS 3.3" + +on: + push: + branches: + - master + + pull_request: + +jobs: + build: + name: Building and testing + runs-on: ubuntu-22.04 + steps: + - name: Check out repository code + uses: actions/checkout@v2 + - name: Install PostgreSQL and PostGIS + env: + POSTGRESQL_VERSION: 18 + POSTGIS_VERSION: 3 + run: .github/scripts/postgresql_postgis.sh + - name: Install and check PgPointCloud + run: .github/scripts/pgpointcloud.sh + - name: Error + if: ${{ failure() }} + run: cat pgsql/regression.diffs + - name: Dump and restore tests + run: .github/scripts/test_dump_restore.sh diff --git a/.github/workflows/jammy_postgres19_postgis33.yml b/.github/workflows/jammy_postgres19_postgis33.yml new file mode 100644 index 00000000..f5a0d4b2 --- /dev/null +++ b/.github/workflows/jammy_postgres19_postgis33.yml @@ -0,0 +1,28 @@ +name: "[ubuntu-22.04] PostgreSQL 19 and PostGIS 3.3" + +on: + push: + branches: + - master + + pull_request: + +jobs: + build: + name: Building and testing + runs-on: ubuntu-22.04 + steps: + - name: Check out repository code + uses: actions/checkout@v2 + - name: Install PostgreSQL and PostGIS + env: + POSTGRESQL_VERSION: 19 + POSTGIS_VERSION: 3 + run: .github/scripts/postgresql_postgis.sh + - name: Install and check PgPointCloud + run: .github/scripts/pgpointcloud.sh + - name: Error + if: ${{ failure() }} + run: cat pgsql/regression.diffs + - name: Dump and restore tests + run: .github/scripts/test_dump_restore.sh diff --git a/.github/workflows/noble_postgres18_postgis33.yml b/.github/workflows/noble_postgres18_postgis33.yml new file mode 100644 index 00000000..eb0efe2b --- /dev/null +++ b/.github/workflows/noble_postgres18_postgis33.yml @@ -0,0 +1,28 @@ +name: "[ubuntu-24.04] PostgreSQL 18 and PostGIS 3.3" + +on: + push: + branches: + - master + + pull_request: + +jobs: + build: + name: Building and testing + runs-on: ubuntu-24.04 + steps: + - name: Check out repository code + uses: actions/checkout@v2 + - name: Install PostgreSQL and PostGIS + env: + POSTGRESQL_VERSION: 18 + POSTGIS_VERSION: 3 + run: .github/scripts/postgresql_postgis.sh + - name: Install and check PgPointCloud + run: .github/scripts/pgpointcloud.sh + - name: Error + if: ${{ failure() }} + run: cat pgsql/regression.diffs + - name: Dump and restore tests + run: .github/scripts/test_dump_restore.sh diff --git a/.github/workflows/noble_postgres19_postgis33.yml b/.github/workflows/noble_postgres19_postgis33.yml new file mode 100644 index 00000000..80614718 --- /dev/null +++ b/.github/workflows/noble_postgres19_postgis33.yml @@ -0,0 +1,28 @@ +name: "[ubuntu-24.04] PostgreSQL 19 and PostGIS 3.3" + +on: + push: + branches: + - master + + pull_request: + +jobs: + build: + name: Building and testing + runs-on: ubuntu-24.04 + steps: + - name: Check out repository code + uses: actions/checkout@v2 + - name: Install PostgreSQL and PostGIS + env: + POSTGRESQL_VERSION: 19 + POSTGIS_VERSION: 3 + run: .github/scripts/postgresql_postgis.sh + - name: Install and check PgPointCloud + run: .github/scripts/pgpointcloud.sh + - name: Error + if: ${{ failure() }} + run: cat pgsql/regression.diffs + - name: Dump and restore tests + run: .github/scripts/test_dump_restore.sh diff --git a/README.md b/README.md index b1dd31ae..3cd65957 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ https://pgpointcloud.github.io/pointcloud/ for more information. ## Continuous integration +The CI matrix below covers supported PostgreSQL and Ubuntu versions, with and without PostGIS. Each workflow builds the extension, runs the unit tests, generates the documentation, and performs C code formatting and SQL linting checks. + | | w/o PostGIS | PostGIS 3.3 | | ------------------ |:-----------:|:-----------:| | PostgreSQL 13 | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres13_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres13_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | @@ -22,3 +24,5 @@ https://pgpointcloud.github.io/pointcloud/ for more information. | PostgreSQL 15 | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres15_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres15_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres15_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres15_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | | PostgreSQL 16 | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres16_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres16_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres16_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres16_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | | PostgreSQL 17 | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres17_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres17_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres17_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres17_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | +| PostgreSQL 18 | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres18_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres18_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres18_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres18_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | +| PostgreSQL 19 | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres19_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres19_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | ![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres19_postgis33.yml?branch=master&label=22.04&logo=ubuntu&style=plastic)
![](https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres19_postgis33.yml?branch=master&label=24.04&logo=ubuntu&style=plastic) | diff --git a/doc/development.rst b/doc/development.rst index 98a3a942..7ca3cd19 100644 --- a/doc/development.rst +++ b/doc/development.rst @@ -179,8 +179,9 @@ is based on PostgreSQL 14, PostGIS 3 and the laz-perf support is activated. Continuous Integration ------------------------------------------------------------------------------ -pgPointcloud tests are run with `Github Actions`_ on several Ubuntu versions -and with various PostgreSQL/PostGIS releases: +pgPointcloud tests are run with `Github Actions`_. + +The CI matrix below covers supported PostgreSQL and Ubuntu versions, with and without PostGIS. Each workflow builds the extension, runs the unit tests, generates the documentation, and performs C code formatting and SQL linting checks. +--------------------+-----------------------+-------------------------+ | | w/o PostGIS | PostGIS 3.3 | @@ -205,6 +206,14 @@ and with various PostgreSQL/PostGIS releases: | | | | | | |17_33_noble| | |17_33_noble| | +--------------------+-----------------------+-------------------------+ +| PostgreSQL 18 | |18_33_jammy| | |18_33_jammy| | +| | | | +| | |18_33_noble| | |18_33_noble| | ++--------------------+-----------------------+-------------------------+ +| PostgreSQL 19 | |19_33_jammy| | |19_33_jammy| | +| | | | +| | |19_33_noble| | |19_33_noble| | ++--------------------+-----------------------+-------------------------+ .. |13_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres13_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+13+and+PostGIS+3.3%22 @@ -216,6 +225,10 @@ and with various PostgreSQL/PostGIS releases: .. |17_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres17_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+17+and+PostGIS+3.3%22 +.. |18_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres18_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+18+and+PostGIS+3.3%22 + +.. |19_33_jammy| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/jammy_postgres19_postgis33.yml?branch=master&label=Ubuntu%2022.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-22.04%5D+PostgreSQL+19+and+PostGIS+3.3%22 + .. |13_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres13_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+13+and+PostGIS+3.3%22 .. |14_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres14_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+14+and+PostGIS+3.3%22 @@ -226,6 +239,10 @@ and with various PostgreSQL/PostGIS releases: .. |17_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres17_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+17+and+PostGIS+3.3%22 +.. |18_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres18_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+18+and+PostGIS+3.3%22 + +.. |19_33_noble| image:: https://img.shields.io/github/actions/workflow/status/pgpointcloud/pointcloud/noble_postgres19_postgis33.yml?branch=master&label=Ubuntu%2024.04&logo=ubuntu :target: https://github.com/pgpointcloud/pointcloud/actions?query=workflow%3A%22%5Bubuntu-24.04%5D+PostgreSQL+19+and+PostGIS+3.3%22 + .. _`source`: https://github.com/hobu/laz-perf .. _`DockerHub`: https://hub.docker.com/_/postgres .. _`GitHub Actions`: https://github.com/pgpointcloud/pointcloud/actions diff --git a/lib/cunit/cu_tester.h b/lib/cunit/cu_tester.h index 8f3dfb10..dc0091fd 100644 --- a/lib/cunit/cu_tester.h +++ b/lib/cunit/cu_tester.h @@ -14,7 +14,7 @@ #define PC_TEST(test_func) \ { \ -#test_func, test_func \ + #test_func, test_func \ } #define MAX_CUNIT_MSG_LENGTH 512 #define CU_ASSERT_SUCCESS(rv) CU_ASSERT((rv) == PC_SUCCESS) diff --git a/pgsql/pc_pgsql.c b/pgsql/pc_pgsql.c index 59438812..87bf5542 100644 --- a/pgsql/pc_pgsql.c +++ b/pgsql/pc_pgsql.c @@ -57,9 +57,8 @@ static Oid pointcloud_get_full_version_schema() FuncnameGetCandidates(names, -1, NIL, false, false, false, false); #else int fgc_flags; - FuncCandidateList clist = - FuncnameGetCandidates(names, -1, NIL, false, false, false, false, - &fgc_flags); + FuncCandidateList clist = FuncnameGetCandidates(names, -1, NIL, false, false, + false, false, &fgc_flags); #endif if (!clist) return InvalidOid;