From bb8057ec2e4a010ed626e732be94d653d55ccd17 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Oct 2026 04:44:54 +0000 Subject: [PATCH 1/2] chore(stack): bump realtime to v2.143.0-r0 --- apps/cli-go/pkg/config/templates/Dockerfile | 2 +- apps/cli/src/shared/services/Dockerfile | 2 +- packages/stack/src/Artifacts.ts | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/cli-go/pkg/config/templates/Dockerfile b/apps/cli-go/pkg/config/templates/Dockerfile index b11cc9690a..1a04536fc2 100644 --- a/apps/cli-go/pkg/config/templates/Dockerfile +++ b/apps/cli-go/pkg/config/templates/Dockerfile @@ -33,7 +33,7 @@ FROM supabase/supavisor:2.9.13 AS supavisor FROM supabase/gotrue:v2.197.0 AS gotrue -FROM supabase/realtime:v2.142.0 AS realtime +FROM supabase/realtime:v2.143.0 AS realtime FROM supabase/storage-api:v1.80.0 AS storage diff --git a/apps/cli/src/shared/services/Dockerfile b/apps/cli/src/shared/services/Dockerfile index b11cc9690a..1a04536fc2 100644 --- a/apps/cli/src/shared/services/Dockerfile +++ b/apps/cli/src/shared/services/Dockerfile @@ -33,7 +33,7 @@ FROM supabase/supavisor:2.9.13 AS supavisor FROM supabase/gotrue:v2.197.0 AS gotrue -FROM supabase/realtime:v2.142.0 AS realtime +FROM supabase/realtime:v2.143.0 AS realtime FROM supabase/storage-api:v1.80.0 AS storage diff --git a/packages/stack/src/Artifacts.ts b/packages/stack/src/Artifacts.ts index f3f00a6f02..7538551924 100644 --- a/packages/stack/src/Artifacts.ts +++ b/packages/stack/src/Artifacts.ts @@ -218,23 +218,23 @@ const definitions: Readonly> = { realtime: definition( "realtime", { - upstreamVersion: "v2.142.0", + upstreamVersion: "v2.143.0", revision: 0, image: - "ghcr.io/supabase/cli/realtime:v2.142.0-r0@sha256:36bd0d3c0e73e358ef44f35f34977c3e4c577e095e775d61cfc87e75860474d6", - upstreamImage: "supabase/realtime:v2.142.0", + "ghcr.io/supabase/cli/realtime:v2.143.0-r0@sha256:25e384565841450dc0b89ab05812140b230f1939c502568cdef927e59eb74e55", + upstreamImage: "supabase/realtime:v2.143.0", natives: { "darwin-arm64": { - archive: "4bb2db0373a2db0fe523457ed270ff5d5da41a41cc0d6deb76ad0a4af4aa753d", - manifest: "7cc91adc5f079a8fa4c6fe29f02fc477cd47317a730b43208c8bc9ee98b18d12", + archive: "37c8e96279ba9c07f645e248edd21d4372fc4e8682db14df7a9067e64771a2f3", + manifest: "7bc4ecea682517d210ecd0967b98eb0c344312377bc7b3a3bd35aa016dcb41ad", }, "linux-amd64": { - archive: "23e71f28b15f1c13e0009360db78d44d55781b368acc5dac97954a2a0d27359b", - manifest: "7418855f23e3ea38f9d66a115c3c34fb4df254158a382385b4ada2f170e24e93", + archive: "072880dd2ebaa6631d3ed305214553ee842caf066ef4399867a9b75c757b6d42", + manifest: "125fda1d857cb5df1646629a8cd75d1b5b97d755bcc80ba5cc891484eec17078", }, "linux-arm64": { - archive: "11fb5dd4a498325fc5dbbe25f72bbc0a133902358dfec2ff29bdde2ba2640238", - manifest: "df7e46aca883e0888ca01e356d167b64cd741b2c26c3a8c73eac735345994f80", + archive: "36bb8a999e630242487091330239494c9e2178d59d5583e960f6f5aa34844f1b", + manifest: "9f42666be7fcf3ab3564c47ddcabd0edc5a0aafac4d4990aaac0a47eacc7d5e4", }, }, }, From 6cd5c1869c90d414d87f4bd3c9b965c5ae11d3a1 Mon Sep 17 00:00:00 2001 From: Julien Goux Date: Thu, 8 Oct 2026 13:35:35 +0200 Subject: [PATCH 2/2] test(stack): keep pinned test ports out of the auto-allocation range --- .../Supabase.native.integration.test.ts | 15 +++++++++------ packages/stack/src/effect.integration.test.ts | 5 +++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/stack/src/composition/Supabase.native.integration.test.ts b/packages/stack/src/composition/Supabase.native.integration.test.ts index d99a7a695e..61d673912a 100644 --- a/packages/stack/src/composition/Supabase.native.integration.test.ts +++ b/packages/stack/src/composition/Supabase.native.integration.test.ts @@ -26,9 +26,9 @@ import { import { testArtifactCacheRoot } from "../../tests/artifact-cache.ts"; const cacheRoot = testArtifactCacheRoot; -// Below every OS ephemeral range, so another test's outbound socket cannot already hold them. -const FIXED_STUDIO_PORT = 24_391; -const FIXED_MAIL_PORT = 24_392; +// Below the stack's native and auto port ranges and every OS ephemeral range, so neither another +// test's auto allocation nor an outbound socket can already hold it. +const FIXED_STUDIO_PORT = 9_391; const stateFor = (root: string) => Effect.gen(function* () { @@ -569,14 +569,17 @@ it.live( cacheRoot, }); yield* Effect.addFinalizer(() => owner.namespace.destroy.pipe(Effect.ignore)); - const fixedPort = FIXED_MAIL_PORT; const standaloneMail = yield* owner.rpc.createService({ service: "mail", config: {}, - endpoints: { http: { port: fixedPort } }, + endpoints: { http: { port: "auto" } }, }); yield* owner.rpc.startService({ id: standaloneMail.id }); yield* owner.rpc.readyService({ id: standaloneMail.id }); + const mailPort = (yield* owner.rpc.status({ id: standaloneMail.id })).endpoints.find( + (endpoint) => endpoint.name === "http", + )?.port; + if (mailPort === undefined) return yield* Effect.die("Missing mail http endpoint"); const database = { service: "database" as const, config: { @@ -591,7 +594,7 @@ it.live( .supabaseComposition({ services: [ database, - { service: "mail", config: {}, endpoints: { http: { port: fixedPort } } }, + { service: "mail", config: {}, endpoints: { http: { port: mailPort } } }, ], }) .pipe(Effect.flip); diff --git a/packages/stack/src/effect.integration.test.ts b/packages/stack/src/effect.integration.test.ts index 2a2011490d..6f39ca895d 100644 --- a/packages/stack/src/effect.integration.test.ts +++ b/packages/stack/src/effect.integration.test.ts @@ -38,8 +38,9 @@ import { deriveStackId, resolveStackIdentity } from "./identity/Identity.ts"; import { testArtifactCacheRoot } from "../tests/artifact-cache.ts"; const layer = Layer.merge(NodeServices.layer, NodeHttpClient.layerNodeHttp); -// Below every OS ephemeral range, so another test's outbound socket cannot already hold it. -const FIXED_API_PORT = 24_393; +// Below the stack's native and auto port ranges and every OS ephemeral range, so neither another +// test's auto allocation nor an outbound socket can already hold it. +const FIXED_API_PORT = 9_393; it.live("registers and discovers saved definitions without inventing live observations", () => Effect.gen(function* () {