supabase-postgres.git / summary / log / commit / refs
commit 3eb98fd447e85f49e390d9bd29abd997201d5d51
Author: Chris Gwilliams <517923+encima@users.noreply.github.com>
Commit: GitHub <noreply@github.com>
Date: Thu Oct 02 20:40:41 2025 +0000
Update pgsql-http to handle semver (#1816)
* modified files to use major and minor version but pull full versions from repo
* update http tests for major minor versions
* chore: bump to test
* chore: bump version to release
* fix: replace lost text in name of checkharness
* chore: also use semver with patch ver in 1.6 version
---------
Co-authored-by: Sam Rose <samuel@supabase.io>
ansible/vars.yml | 6 +++---
nix/ext/pgsql-http.nix | 14 ++++++++------
nix/ext/tests/http.nix | 6 ++++--
nix/ext/versions.json | 4 ++--
4 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/ansible/vars.yml b/ansible/vars.yml
index 42c8cd3b..6e3170cf 100644
--- a/ansible/vars.yml
+++ b/ansible/vars.yml
@@ -10,9 +10,9 @@ postgres_major:
# Full version strings for each major version
postgres_release:
- postgresorioledb-17: 17.5.1.032-orioledb
- postgres17: 17.6.1.011
- postgres15: 15.14.1.011
+ postgresorioledb-17: 17.5.1.033-orioledb
+ postgres17: 17.6.1.012
+ postgres15: 15.14.1.012
# Non Postgres Extensions
pgbouncer_release: 1.19.0
diff --git a/nix/ext/pgsql-http.nix b/nix/ext/pgsql-http.nix
index 6b9394e5..ba669e22 100644
--- a/nix/ext/pgsql-http.nix
+++ b/nix/ext/pgsql-http.nix
@@ -30,6 +30,8 @@ let
version: hash:
stdenv.mkDerivation rec {
inherit pname version;
+ # Use major.minor version for filenames (e.g., 1.5 instead of 1.5.0)
+ fileVersion = lib.versions.majorMinor version;
buildInputs = [
curl
@@ -49,22 +51,22 @@ let
mkdir -p $out/{lib,share/postgresql/extension}
# Install versioned library
- install -Dm755 ${pname}${postgresql.dlSuffix} $out/lib/${pname}--${version}${postgresql.dlSuffix}
+ install -Dm755 ${pname}${postgresql.dlSuffix} $out/lib/${pname}--${fileVersion}${postgresql.dlSuffix}
- cp ${pname}--${version}.sql $out/share/postgresql/extension/${pname}--${version}.sql
+ cp ${pname}--${fileVersion}.sql $out/share/postgresql/extension/${pname}--${fileVersion}.sql
# Create versioned control file with modified module path
sed -e "/^default_version =/d" \
-e "s|^module_pathname = .*|module_pathname = '\$libdir/${pname}'|" \
- ${pname}.control > $out/share/postgresql/extension/${pname}--${version}.control
+ ${pname}.control > $out/share/postgresql/extension/${pname}--${fileVersion}.control
# For the latest version, create default control file and symlink and copy SQL upgrade scripts
if [[ "${version}" == "${latestVersion}" ]]; then
{
- echo "default_version = '${version}'"
- cat $out/share/postgresql/extension/${pname}--${version}.control
+ echo "default_version = '${fileVersion}'"
+ cat $out/share/postgresql/extension/${pname}--${fileVersion}.control
} > $out/share/postgresql/extension/${pname}.control
- ln -sfn ${pname}--${latestVersion}${postgresql.dlSuffix} $out/lib/${pname}${postgresql.dlSuffix}
+ ln -sfn ${pname}--${fileVersion}${postgresql.dlSuffix} $out/lib/${pname}${postgresql.dlSuffix}
cp *.sql $out/share/postgresql/extension
fi
diff --git a/nix/ext/tests/http.nix b/nix/ext/tests/http.nix
index 100fdcd0..09075c37 100644
--- a/nix/ext/tests/http.nix
+++ b/nix/ext/tests/http.nix
@@ -103,11 +103,13 @@ self.inputs.nixpkgs.lib.nixos.runTest {
{ nodes, ... }:
let
pg17-configuration = "${nodes.server.system.build.toplevel}/specialisation/postgresql17";
+ # Convert versions to major.minor format (e.g., "1.5.0" -> "1.5")
+ toMajorMinor = map (v: lib.versions.majorMinor v);
in
''
versions = {
- "15": [${lib.concatStringsSep ", " (map (s: ''"${s}"'') (versions "15"))}],
- "17": [${lib.concatStringsSep ", " (map (s: ''"${s}"'') (versions "17"))}],
+ "15": [${lib.concatStringsSep ", " (map (s: ''"${s}"'') (toMajorMinor (versions "15")))}],
+ "17": [${lib.concatStringsSep ", " (map (s: ''"${s}"'') (toMajorMinor (versions "17")))}],
}
def run_sql(query):
diff --git a/nix/ext/versions.json b/nix/ext/versions.json
index 53666e1c..f786fc3f 100644
--- a/nix/ext/versions.json
+++ b/nix/ext/versions.json
@@ -1,12 +1,12 @@
{
"http": {
- "1.5": {
+ "1.5.0": {
"postgresql": [
"15"
],
"hash": "sha256-+N/CXm4arRgvhglanfvO0FNOBUWV5RL8mn/9FpNvcjY="
},
- "1.6": {
+ "1.6.1": {
"postgresql": [
"15",
"17"
[parent: 4377de755097]