This is an automated email from the ASF dual-hosted git repository.
jgemignani pushed a commit to branch PG17_prepare
in repository https://gitbox.apache.org/repos/asf/age.git
The following commit(s) were added to refs/heads/PG17_prepare by this push:
new 43dcfa57 Update CI, README and repo settings for PG17 (#2156)
43dcfa57 is described below
commit 43dcfa57f19a689ef696fad7d3d9b88401f7b2eb
Author: Muhammad Taha Naveed <[email protected]>
AuthorDate: Tue Mar 4 20:25:25 2025 +0500
Update CI, README and repo settings for PG17 (#2156)
- Currently, all workflows are targeting the `PG17_prepare` branch,
which will be changed to `PG17` once the branch is renamed.
- Updated all the github workflows
- Updated the README
- Updated repo settings
- Updated the Dockerfiles
---
.asf.yaml | 4 ++++
.github/labeler.yml | 3 +++
.github/workflows/go-driver.yml | 4 ++--
.github/workflows/installcheck.yaml | 41 ++++++++++++++++++++----------------
.github/workflows/jdbc-driver.yaml | 4 ++--
.github/workflows/nodejs-driver.yaml | 4 ++--
.github/workflows/python-driver.yaml | 4 ++--
README.md | 10 ++++-----
docker/Dockerfile | 12 +++++------
docker/Dockerfile.dev | 4 ++--
drivers/docker-compose.yml | 2 +-
11 files changed, 52 insertions(+), 40 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
index 049387b1..75419f24 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -49,6 +49,10 @@ github:
required_pull_request_reviews:
required_approving_review_count: 2
+ PG17:
+ required_pull_request_reviews:
+ required_approving_review_count: 2
+
PG16:
required_pull_request_reviews:
required_approving_review_count: 2
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 92ab6db8..6dfd5f53 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -13,5 +13,8 @@ PG14:
PG15:
- base-branch: 'PG15'
+PG17:
+- base-branch: 'PG17'
+
master:
- base-branch: 'master'
\ No newline at end of file
diff --git a/.github/workflows/go-driver.yml b/.github/workflows/go-driver.yml
index 5b6d1503..ea0092b6 100644
--- a/.github/workflows/go-driver.yml
+++ b/.github/workflows/go-driver.yml
@@ -2,10 +2,10 @@ name: Go Driver Tests
on:
push:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
pull_request:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
jobs:
build:
diff --git a/.github/workflows/installcheck.yaml
b/.github/workflows/installcheck.yaml
index dddefa48..276b2709 100644
--- a/.github/workflows/installcheck.yaml
+++ b/.github/workflows/installcheck.yaml
@@ -2,57 +2,62 @@ name: Build / Regression
on:
push:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
pull_request:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- - name: Get latest commit id of PostgreSQL 16
+ - name: Get latest commit id of PostgreSQL 17
run: |
- echo "PG_COMMIT_HASH=$(git ls-remote
git://git.postgresql.org/git/postgresql.git refs/heads/REL_16_STABLE | awk
'{print $1}')" >> $GITHUB_ENV
+ echo "PG_COMMIT_HASH=$(git ls-remote
git://git.postgresql.org/git/postgresql.git refs/heads/REL_17_STABLE | awk
'{print $1}')" >> $GITHUB_ENV
- - name: Cache PostgreSQL 16
+ - name: Cache PostgreSQL 17
uses: actions/cache@v3
- id: pg16cache
+ id: pg17cache
with:
- path: ~/pg16
- key: ${{ runner.os }}-v1-pg16-${{ env.PG_COMMIT_HASH }}
+ path: ~/pg17
+ key: ${{ runner.os }}-v1-pg17-${{ env.PG_COMMIT_HASH }}
- - name: Install PostgreSQL 16 and some extensions
- if: steps.pg16cache.outputs.cache-hit != 'true'
+ - name: Install dependencies
run: |
- git clone --depth 1 --branch REL_16_STABLE
git://git.postgresql.org/git/postgresql.git ~/pg16source
- cd ~/pg16source
- ./configure --prefix=$HOME/pg16 CFLAGS="-std=gnu99 -ggdb -O0"
--enable-cassert
+ sudo apt-get update
+ sudo apt-get install -y build-essential libreadline-dev zlib1g-dev
flex bison
+
+ - name: Install PostgreSQL 17 and some extensions
+ if: steps.pg17cache.outputs.cache-hit != 'true'
+ run: |
+ git clone --depth 1 --branch REL_17_STABLE
git://git.postgresql.org/git/postgresql.git ~/pg17source
+ cd ~/pg17source
+ ./configure --prefix=$HOME/pg17 CFLAGS="-std=gnu99 -ggdb -O0"
--enable-cassert
make install -j$(nproc) > /dev/null
cd contrib
cd fuzzystrmatch
- make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) >
/dev/null
+ make PG_CONFIG=$HOME/pg17/bin/pg_config install -j$(nproc) >
/dev/null
cd ../pg_trgm
- make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) >
/dev/null
+ make PG_CONFIG=$HOME/pg17/bin/pg_config install -j$(nproc) >
/dev/null
- uses: actions/checkout@v3
- name: Build AGE
id: build
run: |
- make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc)
+ make PG_CONFIG=$HOME/pg17/bin/pg_config install -j$(nproc)
- name: Pull and build pgvector
id: pgvector
run: |
git clone https://github.com/pgvector/pgvector.git
cd pgvector
- make PG_CONFIG=$HOME/pg16/bin/pg_config install -j$(nproc) >
/dev/null
+ make PG_CONFIG=$HOME/pg17/bin/pg_config install -j$(nproc) >
/dev/null
- name: Regression tests
id: regression_tests
run: |
- make PG_CONFIG=$HOME/pg16/bin/pg_config installcheck
EXTRA_TESTS="pgvector fuzzystrmatch pg_trgm"
+ make PG_CONFIG=$HOME/pg17/bin/pg_config installcheck
EXTRA_TESTS="pgvector fuzzystrmatch pg_trgm"
continue-on-error: true
- name: Dump regression test errors
diff --git a/.github/workflows/jdbc-driver.yaml
b/.github/workflows/jdbc-driver.yaml
index 29b36843..2b074b85 100644
--- a/.github/workflows/jdbc-driver.yaml
+++ b/.github/workflows/jdbc-driver.yaml
@@ -2,10 +2,10 @@ name: JDBC Driver Tests
on:
push:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
pull_request:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
jobs:
build:
diff --git a/.github/workflows/nodejs-driver.yaml
b/.github/workflows/nodejs-driver.yaml
index 3d9e0702..8e8d2af6 100644
--- a/.github/workflows/nodejs-driver.yaml
+++ b/.github/workflows/nodejs-driver.yaml
@@ -2,10 +2,10 @@ name: Nodejs Driver Tests
on:
push:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
pull_request:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
jobs:
build:
diff --git a/.github/workflows/python-driver.yaml
b/.github/workflows/python-driver.yaml
index 099b5c87..03f1ca84 100644
--- a/.github/workflows/python-driver.yaml
+++ b/.github/workflows/python-driver.yaml
@@ -2,10 +2,10 @@ name: Python Driver Tests
on:
push:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
pull_request:
- branches: [ "master" ]
+ branches: [ "PG17_prepare" ]
jobs:
build:
diff --git a/README.md b/README.md
index a89c6f65..613a6643 100644
--- a/README.md
+++ b/README.md
@@ -33,8 +33,8 @@
<img
src="https://img.shields.io/badge/Release-v1.5.0-FFA500?labelColor=gray&style=flat&link=https://github.com/apache/age/releases"/>
</a>
- <a href="https://www.postgresql.org/docs/16/index.html">
- <img src="https://img.shields.io/badge/Version-Postgresql
16-00008B?labelColor=gray&style=flat&link=https://www.postgresql.org/docs/16/index.html"/>
+ <a href="https://www.postgresql.org/docs/17/index.html">
+ <img src="https://img.shields.io/badge/Version-Postgresql
17-00008B?labelColor=gray&style=flat&link=https://www.postgresql.org/docs/17/index.html"/>
</a>
<a href="https://github.com/apache/age/issues">
@@ -125,7 +125,7 @@ Apache AGE is intended to be simple to install and run. It
can be installed with
Install PostgreSQL
</h4>
-You will need to install an AGE compatible version of Postgres<a>, for now AGE
supports Postgres 11, 12, 13, 14, 15 & 16. Supporting the latest versions is on
AGE roadmap.
+You will need to install an AGE compatible version of Postgres<a>, for now AGE
supports Postgres 11, 12, 13, 14, 15, 16 & 17. Supporting the latest versions
is on AGE roadmap.
<h4>
Installation via Package Manager
@@ -143,7 +143,7 @@ sudo apt install postgresql
Installation From Source Code
</h4>
-You can <a href="https://www.postgresql.org/ftp/source/"> download the
Postgres </a> source code and install your own instance of Postgres. You can
read instructions on how to install from source code for different versions on
the <a href="https://www.postgresql.org/docs/16/installation.html">official
Postgres Website.</a>
+You can <a href="https://www.postgresql.org/ftp/source/"> download the
Postgres </a> source code and install your own instance of Postgres. You can
read instructions on how to install from source code for different versions on
the <a href="https://www.postgresql.org/docs/17/installation.html">official
Postgres Website.</a>
@@ -152,7 +152,7 @@ You can <a href="https://www.postgresql.org/ftp/source/">
download the Postgres
Clone the <a href="https://github.com/apache/age">github repository</a> or
download the <a href="https://github.com/apache/age/releases">download an
official release.
</a>
-Run the pg_config utility and check the version of PostgreSQL. Currently, only
PostgreSQL versions 11, 12, 13, 14, 15 & 16 are supported. If you have any
other version of Postgres, you will need to install PostgreSQL version 11, 12,
13, 14, 15, or 16.
+Run the pg_config utility and check the version of PostgreSQL. Currently, only
PostgreSQL versions 11, 12, 13, 14, 15, 16 & 17 are supported. If you have any
other version of Postgres, you will need to install PostgreSQL version 11, 12,
13, 14, 15, 16 & 17.
<br>
```bash
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 33607058..91c626d6 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -17,14 +17,14 @@
#
# Build stage: Install necessary development tools for compilation and
installation
-FROM postgres:16 AS build
+FROM postgres:17 AS build
RUN apt-get update \
&& apt-get install -y --no-install-recommends --no-install-suggests \
bison \
build-essential \
flex \
- postgresql-server-dev-16
+ postgresql-server-dev-17
COPY . /age
@@ -34,7 +34,7 @@ RUN make && make install
# Final stage: Create a final image by copying the files created in the build
stage
-FROM postgres:16
+FROM postgres:17
RUN apt-get update \
&& apt-get install -y --no-install-recommends --no-install-suggests \
@@ -48,9 +48,9 @@ ENV LANG=en_US.UTF-8
ENV LC_COLLATE=en_US.UTF-8
ENV LC_CTYPE=en_US.UTF-8
-COPY --from=build /usr/lib/postgresql/16/lib/age.so /usr/lib/postgresql/16/lib/
-COPY --from=build /usr/share/postgresql/16/extension/age--1.5.0.sql
/usr/share/postgresql/16/extension/
-COPY --from=build /usr/share/postgresql/16/extension/age.control
/usr/share/postgresql/16/extension/
+COPY --from=build /usr/lib/postgresql/17/lib/age.so /usr/lib/postgresql/17/lib/
+COPY --from=build /usr/share/postgresql/17/extension/age--1.5.0.sql
/usr/share/postgresql/17/extension/
+COPY --from=build /usr/share/postgresql/17/extension/age.control
/usr/share/postgresql/17/extension/
COPY docker/docker-entrypoint-initdb.d/00-create-extension-age.sql
/docker-entrypoint-initdb.d/00-create-extension-age.sql
CMD ["postgres", "-c", "shared_preload_libraries=age"]
diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev
index bdf0c40d..48b2db3e 100644
--- a/docker/Dockerfile.dev
+++ b/docker/Dockerfile.dev
@@ -17,14 +17,14 @@
#
-FROM postgres:16
+FROM postgres:17
RUN apt-get update
RUN apt-get install --assume-yes --no-install-recommends --no-install-suggests
\
bison \
build-essential \
flex \
- postgresql-server-dev-16 \
+ postgresql-server-dev-17 \
locales
ENV LANG=en_US.UTF-8
diff --git a/drivers/docker-compose.yml b/drivers/docker-compose.yml
index 9ec072db..3789fe4a 100644
--- a/drivers/docker-compose.yml
+++ b/drivers/docker-compose.yml
@@ -1,7 +1,7 @@
version: "3.3"
services:
db:
- image: apache/age:dev_snapshot_master
+ image: apache/age:dev_snapshot_PG17_prepare
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=agens