From e3232da0ac2b4dadb0a71e940f3424141fc6faa5 Mon Sep 17 00:00:00 2001 From: samrose Date: Mon, 12 Aug 2024 14:56:30 -0400 Subject: [PATCH 1/7] fix: write sql migration files for wrappers --- nix/ext/wrappers/default.nix | 51 +++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/nix/ext/wrappers/default.nix b/nix/ext/wrappers/default.nix index aca14dc9a..af0c15b5d 100644 --- a/nix/ext/wrappers/default.nix +++ b/nix/ext/wrappers/default.nix @@ -7,43 +7,41 @@ , buildPgrxExtension_0_11_3 , cargo , darwin +, jq }: +let + gitTags = builtins.fromJSON (builtins.readFile (builtins.fetchurl { + url = "https://api.github.com/repos/supabase/wrappers/tags"; + sha256 = "0am40yspir70wp8pik1c7qmfvbby3nyxza115pi9klp6fyv2s93j"; # Replace with actual hash + })); +in buildPgrxExtension_0_11_3 rec { pname = "supabase-wrappers"; version = "0.4.1"; inherit postgresql; - src = fetchFromGitHub { owner = "supabase"; repo = "wrappers"; rev = "v${version}"; hash = "sha256-AU9Y43qEMcIBVBThu+Aor1HCtfFIg+CdkzK9IxVdkzM="; }; - - nativeBuildInputs = [ pkg-config cargo ]; - - buildInputs = [ openssl ] ++ lib.optionals (stdenv.isDarwin) [ + nativeBuildInputs = [ pkg-config cargo jq ]; + buildInputs = [ openssl ] ++ lib.optionals (stdenv.isDarwin) [ darwin.apple_sdk.frameworks.CoreFoundation darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.SystemConfiguration ]; - - # Needed to get openssl-sys to use pkg-config. OPENSSL_NO_VENDOR = 1; CARGO="${cargo}/bin/cargo"; - cargoLock = { - #TODO when we move to newer versions this lockfile will need to be sourced - # from ${src}/Cargo.lock lockFile = "${src}/Cargo.lock"; outputHashes = { "clickhouse-rs-1.0.0-alpha.1" = "sha256-0zmoUo/GLyCKDLkpBsnLAyGs1xz6cubJhn+eVqMEMaw="; }; }; postPatch = "cp ${cargoLock.lockFile} Cargo.lock"; - buildAndTestSubdir = "wrappers"; buildFeatures = [ "helloworld_fdw" @@ -60,12 +58,33 @@ buildPgrxExtension_0_11_3 rec { "cognito_fdw" "wasm_fdw" ]; - - # FIXME (aseipp): disable the tests since they try to install .control - # files into the wrong spot, aside from that the one main test seems - # to work, though doCheck = false; + preBuild = '' + echo "Processing git tags..." + echo '${builtins.toJSON gitTags}' | ${jq}/bin/jq -r '.[].name' | sort -rV > git_tags.txt + ''; + + postInstall = '' + echo "Creating SQL files for previous versions..." + current_version="${version}" + sql_file="$out/share/postgresql/extension/wrappers--$current_version.sql" + + if [ -f "$sql_file" ]; then + while read -r tag; do + tag_version=$(echo "$tag" | sed 's/^v//') + if [ "$(printf '%s\n' "$tag_version" "$current_version" | sort -V | head -n1)" = "$tag_version" ] && [ "$tag_version" != "$current_version" ]; then + new_file="$out/share/postgresql/extension/wrappers--$tag_version--$current_version.sql" + echo "Creating $new_file" + cp "$sql_file" "$new_file" + fi + done < git_tags.txt + else + echo "Warning: $sql_file not found" + fi + rm git_tags.txt + ''; + meta = with lib; { description = "Various Foreign Data Wrappers (FDWs) for PostreSQL"; homepage = "https://github.com/supabase/wrappers"; @@ -73,4 +92,4 @@ buildPgrxExtension_0_11_3 rec { platforms = postgresql.meta.platforms; license = licenses.postgresql; }; -} \ No newline at end of file +} From 0553ac683419f95a60f24807497d562bf8c2db89 Mon Sep 17 00:00:00 2001 From: Paul Cioanca Date: Mon, 12 Aug 2024 22:36:58 +0300 Subject: [PATCH 2/7] chore: bump version --- common-nix.vars.pkr.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-nix.vars.pkr.hcl b/common-nix.vars.pkr.hcl index 77421cc3e..d7d793984 100644 --- a/common-nix.vars.pkr.hcl +++ b/common-nix.vars.pkr.hcl @@ -1 +1 @@ -postgres-version = "15.6.1.110" +postgres-version = "15.6.1.111-rc1" From a609839bf2a6a79a1464a6465d78f4dd16b54ea6 Mon Sep 17 00:00:00 2001 From: Paul Cioanca Date: Mon, 12 Aug 2024 23:20:15 +0300 Subject: [PATCH 3/7] chore: update version to final --- common-nix.vars.pkr.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-nix.vars.pkr.hcl b/common-nix.vars.pkr.hcl index d7d793984..a4f97def6 100644 --- a/common-nix.vars.pkr.hcl +++ b/common-nix.vars.pkr.hcl @@ -1 +1 @@ -postgres-version = "15.6.1.111-rc1" +postgres-version = "15.6.1.111" From 734737e45e1ff5ae4ee0b501cbf3c743b60784e9 Mon Sep 17 00:00:00 2001 From: Paul Cioanca Date: Mon, 12 Aug 2024 23:48:01 +0300 Subject: [PATCH 4/7] chore: bump version again --- common-nix.vars.pkr.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-nix.vars.pkr.hcl b/common-nix.vars.pkr.hcl index a4f97def6..9a0706316 100644 --- a/common-nix.vars.pkr.hcl +++ b/common-nix.vars.pkr.hcl @@ -1 +1 @@ -postgres-version = "15.6.1.111" +postgres-version = "15.6.1.111-rc2" From e7fd078e941f8b1e2e9917263085f8712f289c1b Mon Sep 17 00:00:00 2001 From: Paul Cioanca Date: Tue, 13 Aug 2024 00:15:11 +0300 Subject: [PATCH 5/7] chore: pass git hash to packer directly through a param --- .github/workflows/ami-release-nix.yml | 4 ++-- common-nix.vars.pkr.hcl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ami-release-nix.yml b/.github/workflows/ami-release-nix.yml index cb004ce82..b176971c8 100644 --- a/.github/workflows/ami-release-nix.yml +++ b/.github/workflows/ami-release-nix.yml @@ -49,13 +49,13 @@ jobs: run: | packer init amazon-arm64-nix.pkr.hcl GIT_SHA=${{github.sha}} - packer build -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${GITHUB_RUN_ID}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" -var "ansible_arguments=" amazon-arm64-nix.pkr.hcl + packer build -var "git_sha=${GIT_SHA}" -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${GITHUB_RUN_ID}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" -var "ansible_arguments=" amazon-arm64-nix.pkr.hcl - name: Build AMI stage 2 run: | packer init stage2-nix-psql.pkr.hcl GIT_SHA=${{github.sha}} - packer build -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${GITHUB_RUN_ID}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" stage2-nix-psql.pkr.hcl + packer build -var "git_sha=${GIT_SHA}" -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${GITHUB_RUN_ID}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" stage2-nix-psql.pkr.hcl - name: Grab release version id: process_release_version diff --git a/common-nix.vars.pkr.hcl b/common-nix.vars.pkr.hcl index 9a0706316..e63319c10 100644 --- a/common-nix.vars.pkr.hcl +++ b/common-nix.vars.pkr.hcl @@ -1 +1 @@ -postgres-version = "15.6.1.111-rc2" +postgres-version = "15.6.1.111-rc3" From 117d4886fbe85ef46060e1b559cf7678daad46a3 Mon Sep 17 00:00:00 2001 From: Paul Cioanca Date: Tue, 13 Aug 2024 00:20:44 +0300 Subject: [PATCH 6/7] chore: fix ami workflow --- .github/workflows/ami-release-nix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ami-release-nix.yml b/.github/workflows/ami-release-nix.yml index b176971c8..08de3dca9 100644 --- a/.github/workflows/ami-release-nix.yml +++ b/.github/workflows/ami-release-nix.yml @@ -49,7 +49,7 @@ jobs: run: | packer init amazon-arm64-nix.pkr.hcl GIT_SHA=${{github.sha}} - packer build -var "git_sha=${GIT_SHA}" -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${GITHUB_RUN_ID}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" -var "ansible_arguments=" amazon-arm64-nix.pkr.hcl + packer build -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${GITHUB_RUN_ID}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" -var "ansible_arguments=" amazon-arm64-nix.pkr.hcl - name: Build AMI stage 2 run: | From 0621875a23734cd78bb38c5e7ba74cf16fcde472 Mon Sep 17 00:00:00 2001 From: Sam Rose Date: Mon, 12 Aug 2024 23:01:17 +0000 Subject: [PATCH 7/7] chore: bump the version to release --- common-nix.vars.pkr.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-nix.vars.pkr.hcl b/common-nix.vars.pkr.hcl index e63319c10..a4f97def6 100644 --- a/common-nix.vars.pkr.hcl +++ b/common-nix.vars.pkr.hcl @@ -1 +1 @@ -postgres-version = "15.6.1.111-rc3" +postgres-version = "15.6.1.111"