From 55a2209a4dec719d81f571f873b9f37e5610978d Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 26 Sep 2025 07:38:39 +0200 Subject: [PATCH 1/2] feat(config): extend emulator type with apple container --- .../config/src/satellite/configs/emulator.config.ts | 4 ++-- .../tests/satellite/configs/emulator.config.spec.ts | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/config/src/satellite/configs/emulator.config.ts b/packages/config/src/satellite/configs/emulator.config.ts index 3c24b796..ec5b1cd0 100644 --- a/packages/config/src/satellite/configs/emulator.config.ts +++ b/packages/config/src/satellite/configs/emulator.config.ts @@ -99,7 +99,7 @@ export interface EmulatorSatellite { * @see EmulatorRunner */ const EmulatorRunnerSchema = z.strictObject({ - type: z.enum(['docker', 'podman']), + type: z.enum(['docker', 'podman', 'container']), image: z.string().optional(), name: z.string().optional(), volume: z.string().optional(), @@ -114,7 +114,7 @@ export interface EmulatorRunner { /** * The containerization tool to run the emulator. */ - type: 'docker' | 'podman'; + type: 'docker' | 'podman' | 'container'; /** * Image reference. diff --git a/packages/config/src/tests/satellite/configs/emulator.config.spec.ts b/packages/config/src/tests/satellite/configs/emulator.config.spec.ts index 1431edce..0a61e2f8 100644 --- a/packages/config/src/tests/satellite/configs/emulator.config.spec.ts +++ b/packages/config/src/tests/satellite/configs/emulator.config.spec.ts @@ -219,6 +219,16 @@ describe('emulator.config', () => { expect(result.success).toBe(true); }); + it('accepts runner with type container', () => { + const result = EmulatorConfigSchema.safeParse({ + runner: { + type: 'container' + }, + console: {} + }); + expect(result.success).toBe(true); + }); + it('rejects runner with invalid type value', () => { const result = EmulatorConfigSchema.safeParse({ runner: { From 72a89132aab5a8fac3ccbef4d721e813db281a8c Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 Sep 2025 05:39:43 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=A4=96=20Documentation=20auto-update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/config/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/config/README.md b/packages/config/README.md index a9b0fcfc..621e97d8 100644 --- a/packages/config/README.md +++ b/packages/config/README.md @@ -207,7 +207,7 @@ References: | Constant | Type | | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `EmulatorConfigSchema` | `ZodUnion; image: ZodOptional; name: ZodOptional; volume: ZodOptional<...>; target: ZodOptional<...>; platform: ZodOptional<...>; }, $strict>>; skylab: ZodObject<...>; }, $strict>, ZodObj...` | +| `EmulatorConfigSchema` | `ZodUnion; image: ZodOptional; name: ZodOptional; volume: ZodOptional<...>; target: ZodOptional<...>; platform: ZodOptional<...>; }, $strict>>; skylab: ZodObject<....` | References: @@ -604,7 +604,7 @@ Shared options for all runner variants. | Property | Type | Description | | ---------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `type` | `"docker" or "podman"` | The containerization tool to run the emulator. | +| `type` | `"docker" or "podman" or "container"` | The containerization tool to run the emulator. | | `image` | `string or undefined` | Image reference. default: depends on emulator type, e.g. "junobuild/skylab:latest" | | `name` | `string or undefined` | Optional container name to use for the emulator. Useful for reusing or managing a specific container. | | `volume` | `string or undefined` | Persistent volume to store internal state. default: "juno" |