Skip to content

Commit 19a46cd

Browse files
committed
feat: Add PostgreSQL 16 as new major and used release version
1 parent c94c9fe commit 19a46cd

File tree

7 files changed

+80
-4
lines changed

7 files changed

+80
-4
lines changed

ci/pipeline.yml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ jobs:
3636
trigger: true
3737
- get: postgres-15-src
3838
trigger: true
39+
- get: postgres-16-src
40+
trigger: true
3941
- task: bump-postgres-11-package
4042
file: postgres-release/ci/tasks/bump-postgres-packages/task.yml
4143
image: bosh-cli-registry-image
@@ -72,6 +74,18 @@ jobs:
7274
options:
7375
access_key_id: ((postgres-release-blobstore-user.username))
7476
secret_access_key: ((postgres-release-blobstore-user.password))
77+
- task: bump-postgres-16-package
78+
file: postgres-release/ci/tasks/bump-postgres-packages/task.yml
79+
image: bosh-cli-registry-image
80+
input_mapping:
81+
postgres-src: postgres-16-src
82+
params:
83+
MAJOR_VERSION: 16
84+
PRIVATE_YML: |
85+
blobstore:
86+
options:
87+
access_key_id: ((postgres-release-blobstore-user.username))
88+
secret_access_key: ((postgres-release-blobstore-user.password))
7589
- put: postgres-release
7690
params:
7791
repository: postgres-release
@@ -109,7 +123,7 @@ jobs:
109123
file: postgres-release/ci/tasks/check-for-updated-blob/task.yml
110124
image: bosh-cli-registry-image
111125
params:
112-
BLOB: postgresql-15
126+
BLOB: postgresql-16
113127
on_success:
114128
put: final-release-trigger
115129

@@ -130,7 +144,7 @@ jobs:
130144
file: postgres-release/ci/tasks/check-for-updated-blob/task.yml
131145
image: bosh-cli-registry-image
132146
params:
133-
BLOB: postgresql-15
147+
BLOB: postgresql-16
134148
- task: create-final-release
135149
file: postgres-release/ci/tasks/create-final-release/task.yml
136150
image: bosh-cli-registry-image
@@ -211,6 +225,13 @@ resources:
211225
regex: 'href="v(?P<version>15\.[0-9.]+)/"'
212226
uri: "https://ftp.postgresql.org/pub/source/v{version}/postgresql-{version}.tar.gz"
213227

228+
- name: postgres-16-src
229+
type: http-resource
230+
source:
231+
index: "https://ftp.postgresql.org/pub/source/"
232+
regex: 'href="v(?P<version>16\.[0-9.]+)/"'
233+
uri: "https://ftp.postgresql.org/pub/source/v{version}/postgresql-{version}.tar.gz"
234+
214235
- name: postgres-release
215236
type: git
216237
source:

jobs/bbr-postgres-db/spec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ packages:
1717
- postgres-11
1818
- postgres-13
1919
- postgres-15
20+
- postgres-16
2021

2122
consumes:
2223
- name: database

jobs/bbr-postgres-db/templates/config.sh.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ if_link("database") do |data|
2222
end
2323

2424
%>
25-
current_version="15.6"
25+
current_version="16.2"
2626
JOB_DIR="/var/vcap/jobs/bbr-postgres-db"
2727
PACKAGE_DIR="/var/vcap/packages/postgres-${current_version%.*}"
2828
PORT="<%= port %>"

jobs/postgres/spec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ packages:
3030
- postgres-11
3131
- postgres-13
3232
- postgres-15
33+
- postgres-16
3334

3435
provides:
3536
- name: postgres

jobs/postgres/templates/pgconfig.sh.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -x # if you want tracing disabled, set 'databases.enable_traces: false' in t
66
ENABLE_TRACE=0
77
# set -x # uncomment it if you want to enable tracing in all control scripts
88
<% end %>
9-
current_version="15.6"
9+
current_version="16.2"
1010
pgversion_current="postgres-${current_version}"
1111

1212
JOB_DIR=/var/vcap/jobs/postgres

packages/postgres-16/packaging

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#!/bin/bash -exu
2+
3+
function main() {
4+
5+
extract_archive
6+
compile
7+
8+
}
9+
10+
function extract_archive() {
11+
12+
echo "Extracting archive..."
13+
tar xzf postgres/postgresql-*
14+
15+
}
16+
17+
function compile() {
18+
19+
pushd postgresql-* > /dev/null
20+
if [[ "$(uname -a)" =~ "x86_64" || "$(uname -a)" =~ "ppc64le" ]] ; then
21+
./configure --prefix="${BOSH_INSTALL_TARGET}" --with-openssl
22+
else
23+
CFLAGS=-m32 LDFLAGS=-m32 CXXFLAGS=-m32 ./configure --prefix="${BOSH_INSTALL_TARGET}" --with-openssl
24+
fi
25+
26+
pushd src/bin/pg_config > /dev/null
27+
make -j$(nproc)
28+
make install
29+
popd > /dev/null
30+
31+
cp -LR src/include "${BOSH_INSTALL_TARGET}"
32+
pushd src/interfaces/libpq > /dev/null
33+
make -j$(nproc)
34+
make install
35+
popd > /dev/null
36+
37+
pushd src > /dev/null
38+
make -j$(nproc)
39+
make install
40+
popd > /dev/null
41+
42+
pushd contrib > /dev/null
43+
make -j$(nproc)
44+
make install
45+
popd > /dev/null
46+
popd > /dev/null
47+
}
48+
49+
main

packages/postgres-16/spec

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
name: postgres-16
3+
files:
4+
- postgres/postgresql-16.*.tar.gz

0 commit comments

Comments
 (0)