From 63100f07de90bb0c06ef29cfc582504db2d1b8b9 Mon Sep 17 00:00:00 2001 From: "groombook-engineer[bot]" <3141748+groombook-engineer[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 10:57:27 +0000 Subject: [PATCH 1/2] fix(ci): replace yq //= with expanded form (.field // default) The //= compound assignment operator is not supported in the version of yq installed in CI. Replace both usages with the equivalent (.spec.ttlSecondsAfterFinished // 86400) form. Fixes GRO-360. Co-Authored-By: Paperclip --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 65aa853..93d7fc1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -330,7 +330,7 @@ jobs: yq -i '.metadata.name = "migrate-schema-" + env(SHORT_SHA)' "$MIGRATE_JOB" yq -i '.metadata.annotations."groombook.app/deploy-version" = env(TAG)' "$MIGRATE_JOB" # Ensure ttlSecondsAfterFinished is set for automatic cleanup - yq -i '.spec.ttlSecondsAfterFinished //= 86400' "$MIGRATE_JOB" + yq -i '.spec.ttlSecondsAfterFinished = (.spec.ttlSecondsAfterFinished // 86400)' "$MIGRATE_JOB" fi # Update seed Job name to include short SHA (immutable template fix) @@ -339,7 +339,7 @@ jobs: yq -i '.metadata.name = "seed-test-data-" + env(SHORT_SHA)' "$SEED_JOB" yq -i '.metadata.annotations."groombook.app/deploy-version" = env(TAG)' "$SEED_JOB" # Ensure ttlSecondsAfterFinished is set for automatic cleanup - yq -i '.spec.ttlSecondsAfterFinished //= 86400' "$SEED_JOB" + yq -i '.spec.ttlSecondsAfterFinished = (.spec.ttlSecondsAfterFinished // 86400)' "$SEED_JOB" fi git -C /tmp/infra diff --stat -- 2.52.0 From 034b733f747135f694b88cf1e10da8d1d6f163d8 Mon Sep 17 00:00:00 2001 From: "groombook-engineer[bot]" <3141748+groombook-engineer[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 12:25:43 +0000 Subject: [PATCH 2/2] fix(db): cast uuid to text for MIN() in services dedup query (GRO-364) Postgres has no built-in MIN() aggregate for UUID type. Cast to text before aggregating, then cast back to uuid. Co-Authored-By: Paperclip --- packages/db/src/seed.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/db/src/seed.ts b/packages/db/src/seed.ts index 2cb6ffb..ece7071 100644 --- a/packages/db/src/seed.ts +++ b/packages/db/src/seed.ts @@ -427,7 +427,7 @@ async function seed() { // Deduplicate existing services (keep lowest id per name) before inserting. await db.execute(sql` DELETE FROM services WHERE id NOT IN ( - SELECT MIN(id) FROM services GROUP BY name + SELECT (MIN(id::text))::uuid FROM services GROUP BY name ) `); -- 2.52.0