4343 strategy :
4444 fail-fast : false
4545 matrix :
46- PGVERSION : [14, 15, 16, 17]
46+ PGVERSION : [14, 15, 16, 17, 18, 19 ]
4747
4848 steps :
4949 - uses : actions/checkout@v7.0.0
@@ -54,11 +54,11 @@ jobs:
5454 - name : Build pgaf:run image (PG${{ matrix.PGVERSION }})
5555 run : |
5656 # Match the CITUSTAG-per-PGVERSION logic from the top-level Makefile:
57- # PG14–15 require Citus v12 (last version supporting those releases).
58- # PG16+ use the current default.
57+ # PG14–15 require Citus v12, PG16–17 require v13, PG18+ require v14.
5958 case "${{ matrix.PGVERSION }}" in
6059 14|15) CITUSTAG=v12.1.5 ;;
61- *) CITUSTAG=v13.2.0 ;;
60+ 16|17) CITUSTAG=v13.2.0 ;;
61+ *) CITUSTAG=v14.1.0 ;;
6262 esac
6363 docker build \
6464 --build-arg PGVERSION=${{ matrix.PGVERSION }} \
7373 # this step only adds the pg_createcluster layer on top.
7474 case "${{ matrix.PGVERSION }}" in
7575 14|15) CITUSTAG=v12.1.5 ;;
76- *) CITUSTAG=v13.2.0 ;;
76+ 16|17) CITUSTAG=v13.2.0 ;;
77+ *) CITUSTAG=v14.1.0 ;;
7778 esac
7879 docker build \
7980 --build-arg PGVERSION=${{ matrix.PGVERSION }} \
@@ -117,7 +118,7 @@ jobs:
117118 needs : style_checker
118119 runs-on : ubuntu-latest
119120 env :
120- PGVERSION : 17
121+ PGVERSION : 18
121122
122123 steps :
123124 - uses : actions/checkout@v7.0.0
@@ -129,7 +130,7 @@ jobs:
129130 run : |
130131 docker build \
131132 --build-arg PGVERSION=${{ env.PGVERSION }} \
132- --build-arg CITUSTAG=v13.2 .0 \
133+ --build-arg CITUSTAG=v14.1 .0 \
133134 --target pgaftest \
134135 -t pgaf:pgaftest \
135136 .
@@ -169,24 +170,33 @@ jobs:
169170 - { PGVERSION: 15, schedule: quick }
170171 - { PGVERSION: 16, schedule: quick }
171172 - { PGVERSION: 17, schedule: quick }
173+ - { PGVERSION: 18, schedule: quick }
174+ - { PGVERSION: 19, schedule: quick }
172175 # node: create_standby_with_pgdata, maintenance_and_drop, auth,
173176 # monitor_disabled, replace_monitor, extension_update,
174177 # debian_clusters, tablespaces
175178 - { PGVERSION: 14, schedule: node }
176179 - { PGVERSION: 15, schedule: node }
177180 - { PGVERSION: 16, schedule: node }
178181 - { PGVERSION: 17, schedule: node }
182+ - { PGVERSION: 18, schedule: node }
183+ - { PGVERSION: 19, schedule: node }
179184 # ssl: enable_ssl, ssl_self_signed, ssl_cert
180185 - { PGVERSION: 14, schedule: ssl }
181186 - { PGVERSION: 15, schedule: ssl }
182187 - { PGVERSION: 16, schedule: ssl }
183188 - { PGVERSION: 17, schedule: ssl }
184- # slow schedules: PG17 only
189+ - { PGVERSION: 18, schedule: ssl }
190+ - { PGVERSION: 19, schedule: ssl }
191+ # slow schedules: PG17 only (FSM logic, not version-specific code paths)
185192 - { PGVERSION: 17, schedule: multi-alternate } # multi_alternate
186193 - { PGVERSION: 17, schedule: multi-misc } # multi_standbys, multi_maintenance, ensure, multi_ifdown
187194 - { PGVERSION: 17, schedule: multi-async } # multi_async
188195 - { PGVERSION: 17, schedule: citus-1 } # citus_cluster_name, citus_force_failover, citus_multi_standbys
189196 - { PGVERSION: 17, schedule: citus-2 } # basic_citus_operation, nonha_citus_operation, citus_skip_pg_hba
197+ # slow schedules on PG18 to validate new-version behaviour
198+ - { PGVERSION: 18, schedule: multi-alternate }
199+ - { PGVERSION: 18, schedule: multi-misc }
190200
191201 steps :
192202 - uses : actions/checkout@v7.0.0
@@ -257,7 +267,7 @@ jobs:
257267 strategy :
258268 fail-fast : false
259269 matrix :
260- PGVERSION : [14, 15, 16, 17]
270+ PGVERSION : [14, 15, 16, 17, 18, 19 ]
261271
262272 steps :
263273 - uses : actions/checkout@v7.0.0
@@ -278,7 +288,8 @@ jobs:
278288 run : |
279289 case "${{ matrix.PGVERSION }}" in
280290 14|15) CITUSTAG=v12.1.5 ;;
281- *) CITUSTAG=v13.2.0 ;;
291+ 16|17) CITUSTAG=v13.2.0 ;;
292+ *) CITUSTAG=v14.1.0 ;;
282293 esac
283294 docker build \
284295 --build-arg PGVERSION=${{ matrix.PGVERSION }} \
0 commit comments