trigger.dev 4.0.0-v4-beta.20 → 4.0.0-v4-beta.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/esm/apiClient.d.ts +7 -2
  2. package/dist/esm/apiClient.js +14 -8
  3. package/dist/esm/apiClient.js.map +1 -1
  4. package/dist/esm/commands/deploy.js +39 -41
  5. package/dist/esm/commands/deploy.js.map +1 -1
  6. package/dist/esm/commands/switch.d.ts +2 -2
  7. package/dist/esm/commands/switch.js +35 -10
  8. package/dist/esm/commands/switch.js.map +1 -1
  9. package/dist/esm/commands/update.d.ts +2 -2
  10. package/dist/esm/commands/update.js +19 -5
  11. package/dist/esm/commands/update.js.map +1 -1
  12. package/dist/esm/commands/whoami.d.ts +13 -2
  13. package/dist/esm/commands/whoami.js +35 -6
  14. package/dist/esm/commands/whoami.js.map +1 -1
  15. package/dist/esm/commands/workers/build.js +6 -14
  16. package/dist/esm/commands/workers/build.js.map +1 -1
  17. package/dist/esm/deploy/buildImage.d.ts +7 -11
  18. package/dist/esm/deploy/buildImage.js +274 -91
  19. package/dist/esm/deploy/buildImage.js.map +1 -1
  20. package/dist/esm/dev/devSupervisor.js +50 -0
  21. package/dist/esm/dev/devSupervisor.js.map +1 -1
  22. package/dist/esm/dev/taskRunProcessPool.d.ts +39 -0
  23. package/dist/esm/dev/taskRunProcessPool.js +213 -0
  24. package/dist/esm/dev/taskRunProcessPool.js.map +1 -0
  25. package/dist/esm/entryPoints/dev-run-controller.d.ts +2 -0
  26. package/dist/esm/entryPoints/dev-run-controller.js +39 -29
  27. package/dist/esm/entryPoints/dev-run-controller.js.map +1 -1
  28. package/dist/esm/entryPoints/dev-run-worker.js +178 -119
  29. package/dist/esm/entryPoints/dev-run-worker.js.map +1 -1
  30. package/dist/esm/entryPoints/managed/controller.d.ts +9 -0
  31. package/dist/esm/entryPoints/managed/controller.js +37 -2
  32. package/dist/esm/entryPoints/managed/controller.js.map +1 -1
  33. package/dist/esm/entryPoints/managed/execution.d.ts +8 -4
  34. package/dist/esm/entryPoints/managed/execution.js +78 -70
  35. package/dist/esm/entryPoints/managed/execution.js.map +1 -1
  36. package/dist/esm/entryPoints/managed/logger.d.ts +1 -0
  37. package/dist/esm/entryPoints/managed/logger.js +4 -1
  38. package/dist/esm/entryPoints/managed/logger.js.map +1 -1
  39. package/dist/esm/entryPoints/managed/taskRunProcessProvider.d.ts +63 -0
  40. package/dist/esm/entryPoints/managed/taskRunProcessProvider.js +256 -0
  41. package/dist/esm/entryPoints/managed/taskRunProcessProvider.js.map +1 -0
  42. package/dist/esm/entryPoints/managed-index-controller.js +21 -1
  43. package/dist/esm/entryPoints/managed-index-controller.js.map +1 -1
  44. package/dist/esm/entryPoints/managed-index-worker.js +5 -0
  45. package/dist/esm/entryPoints/managed-index-worker.js.map +1 -1
  46. package/dist/esm/entryPoints/managed-run-worker.js +172 -116
  47. package/dist/esm/entryPoints/managed-run-worker.js.map +1 -1
  48. package/dist/esm/executions/taskRunProcess.d.ts +1 -1
  49. package/dist/esm/executions/taskRunProcess.js +10 -4
  50. package/dist/esm/executions/taskRunProcess.js.map +1 -1
  51. package/dist/esm/indexing/indexWorkerManifest.d.ts +5 -0
  52. package/dist/esm/utilities/fileSystem.d.ts +1 -1
  53. package/dist/esm/utilities/fileSystem.js +1 -1
  54. package/dist/esm/utilities/tempDirectories.js +1 -1
  55. package/dist/esm/utilities/tempDirectories.js.map +1 -1
  56. package/dist/esm/version.js +1 -1
  57. package/package.json +3 -3
@@ -1,23 +1,27 @@
1
- import { join } from "node:path";
2
- import { createTempDir, writeJSONFile } from "../utilities/fileSystem.js";
3
1
  import { logger } from "../utilities/logger.js";
4
2
  import { depot } from "@depot/cli";
5
3
  import { x } from "tinyexec";
4
+ import { networkInterfaces } from "os";
5
+ import { join } from "path";
6
+ import { safeReadJSONFile } from "../utilities/fileSystem.js";
7
+ import { readFileSync } from "fs";
8
+ import { isLinux } from "std-env";
9
+ import { z } from "zod";
10
+ import { assertExhaustive } from "../utilities/assertExhaustive.js";
6
11
  export async function buildImage(options) {
7
- const { selfHosted, buildPlatform, noCache, push, registry, loadImage, registryHost, authAccessToken, imageTag, deploymentId, deploymentVersion, contentHash, externalBuildId, externalBuildToken, externalBuildProjectId, compilationPath, projectId, projectRef, extraCACerts, apiUrl, apiKey, branchName, buildEnvVars, network, onLog, } = options;
8
- if (selfHosted) {
9
- return selfHostedBuildImage({
10
- registryHost,
12
+ const { isLocalBuild, imagePlatform, noCache, push, load, authAccessToken, imageTag, deploymentId, deploymentVersion, contentHash, externalBuildId, externalBuildToken, externalBuildProjectId, compilationPath, projectId, projectRef, extraCACerts, apiUrl, apiKey, branchName, buildEnvVars, network, builder, onLog, } = options;
13
+ if (isLocalBuild) {
14
+ return localBuildImage({
11
15
  imageTag,
16
+ imagePlatform,
12
17
  cwd: compilationPath,
13
18
  projectId,
14
19
  deploymentId,
15
20
  deploymentVersion,
16
21
  contentHash,
17
22
  projectRef,
18
- buildPlatform: buildPlatform,
19
- pushImage: push,
20
- selfHostedRegistry: !!registry,
23
+ push,
24
+ load,
21
25
  noCache,
22
26
  extraCACerts,
23
27
  apiUrl,
@@ -25,19 +29,15 @@ export async function buildImage(options) {
25
29
  branchName,
26
30
  buildEnvVars,
27
31
  network,
32
+ builder,
28
33
  onLog,
29
34
  });
30
35
  }
31
36
  if (!externalBuildId || !externalBuildToken || !externalBuildProjectId) {
32
37
  throw new Error("Failed to initialize deployment. The deployment does not have any external build data. To deploy this project, you must use the --self-hosted flag to build and push the image yourself.");
33
38
  }
34
- if (!registryHost) {
35
- throw new Error("Failed to initialize deployment. The deployment does not have a registry host. To deploy this project, you must use the --self-hosted or --local flag to build and push the image yourself.");
36
- }
37
- return depotBuildImage({
38
- registryHost,
39
+ return remoteBuildImage({
39
40
  auth: authAccessToken,
40
- imageTag,
41
41
  buildId: externalBuildId,
42
42
  buildToken: externalBuildToken,
43
43
  buildProjectId: externalBuildProjectId,
@@ -47,8 +47,8 @@ export async function buildImage(options) {
47
47
  deploymentVersion,
48
48
  contentHash,
49
49
  projectRef,
50
- loadImage,
51
- buildPlatform,
50
+ load,
51
+ imagePlatform,
52
52
  noCache,
53
53
  extraCACerts,
54
54
  apiUrl,
@@ -58,13 +58,7 @@ export async function buildImage(options) {
58
58
  onLog,
59
59
  });
60
60
  }
61
- async function depotBuildImage(options) {
62
- // Step 3: Ensure we are "logged in" to our registry by writing to $HOME/.docker/config.json
63
- // TODO: make sure this works on windows
64
- const dockerConfigDir = await ensureLoggedIntoDockerRegistry(options.registryHost, {
65
- username: "trigger",
66
- password: options.auth,
67
- });
61
+ async function remoteBuildImage(options) {
68
62
  const buildArgs = Object.entries(options.buildEnvVars || {})
69
63
  .filter(([key, value]) => value)
70
64
  .flatMap(([key, value]) => ["--build-arg", `${key}=${value}`]);
@@ -74,9 +68,12 @@ async function depotBuildImage(options) {
74
68
  "Containerfile",
75
69
  options.noCache ? "--no-cache" : undefined,
76
70
  "--platform",
77
- options.buildPlatform,
71
+ options.imagePlatform,
72
+ options.load ? "--load" : undefined,
78
73
  "--provenance",
79
74
  "false",
75
+ "--metadata-file",
76
+ "metadata.json",
80
77
  "--build-arg",
81
78
  `TRIGGER_PROJECT_ID=${options.projectId}`,
82
79
  "--build-arg",
@@ -99,9 +96,8 @@ async function depotBuildImage(options) {
99
96
  "plain",
100
97
  ".",
101
98
  "--save",
102
- options.loadImage ? "--load" : undefined,
103
99
  ].filter(Boolean);
104
- logger.debug(`depot ${args.join(" ")}`);
100
+ logger.debug(`depot ${args.join(" ")}`, { cwd: options.cwd });
105
101
  // Step 4: Build and push the image
106
102
  const childProcess = depot(args, {
107
103
  cwd: options.cwd,
@@ -111,7 +107,6 @@ async function depotBuildImage(options) {
111
107
  DEPOT_PROJECT_ID: options.buildProjectId,
112
108
  DEPOT_NO_SUMMARY_LINK: "1",
113
109
  DEPOT_NO_UPDATE_NOTIFIER: "1",
114
- DOCKER_CONFIG: dockerConfigDir,
115
110
  },
116
111
  });
117
112
  const errors = [];
@@ -139,10 +134,22 @@ async function depotBuildImage(options) {
139
134
  logs,
140
135
  };
141
136
  }
142
- const digest = extractImageDigest(errors);
137
+ const metadataPath = join(options.cwd, "metadata.json");
138
+ const rawMetadata = await safeReadJSONFile(metadataPath);
139
+ const meta = BuildKitMetadata.safeParse(rawMetadata);
140
+ let digest;
141
+ if (!meta.success) {
142
+ logger.error("Failed to parse metadata.json", {
143
+ errors: meta.error.message,
144
+ path: metadataPath,
145
+ });
146
+ }
147
+ else {
148
+ logger.debug("Parsed metadata.json", { metadata: meta.data, path: metadataPath });
149
+ digest = meta.data["containerimage.digest"];
150
+ }
143
151
  return {
144
152
  ok: true,
145
- image: `registry.depot.dev/${options.buildProjectId}:${options.buildId}`,
146
153
  imageSizeBytes: 0,
147
154
  logs,
148
155
  digest,
@@ -156,19 +163,114 @@ async function depotBuildImage(options) {
156
163
  };
157
164
  }
158
165
  }
159
- async function selfHostedBuildImage(options) {
160
- const imageRef = `${options.registryHost ? `${options.registryHost}/` : ""}${options.imageTag}`;
166
+ async function localBuildImage(options) {
167
+ const { builder, imageTag } = options;
168
+ // Ensure multi-platform build is supported on the local machine
169
+ let builderExists = false;
170
+ const lsLogs = [];
171
+ // List existing builders
172
+ const lsProcess = x("docker", ["buildx", "ls", "--format", "{{.Name}}"]);
173
+ for await (const line of lsProcess) {
174
+ lsLogs.push(line);
175
+ logger.debug(line);
176
+ if (line === builder) {
177
+ builderExists = true;
178
+ }
179
+ }
180
+ if (lsProcess.exitCode !== 0) {
181
+ return {
182
+ ok: false,
183
+ error: `Failed to list buildx builders`,
184
+ logs: lsLogs.join("\n"),
185
+ };
186
+ }
187
+ if (builderExists && options.network) {
188
+ // We need to ensure the current builder network matches
189
+ const inspectProcess = x("docker", ["buildx", "inspect", builder]);
190
+ const inspectLogs = [];
191
+ let hasCorrectNetwork = false;
192
+ for await (const line of inspectProcess) {
193
+ inspectLogs.push(line);
194
+ if (line.match(/Driver Options:\s+network="([^"]+)"/)?.at(1) === options.network) {
195
+ hasCorrectNetwork = true;
196
+ }
197
+ }
198
+ if (inspectProcess.exitCode !== 0) {
199
+ return {
200
+ ok: false,
201
+ error: `Failed to inspect buildx builder '${builder}'`,
202
+ logs: inspectLogs.join("\n"),
203
+ };
204
+ }
205
+ if (!hasCorrectNetwork) {
206
+ // Delete the existing builder and signal to create a new one
207
+ const deleteProcess = x("docker", ["buildx", "rm", builder]);
208
+ const deleteLogs = [];
209
+ for await (const line of deleteProcess) {
210
+ deleteLogs.push(line);
211
+ }
212
+ if (deleteProcess.exitCode !== 0) {
213
+ return {
214
+ ok: false,
215
+ error: `Failed to delete buildx builder '${builder}'`,
216
+ logs: deleteLogs.join("\n"),
217
+ };
218
+ }
219
+ builderExists = false;
220
+ }
221
+ }
222
+ // If the builder does not exist, create it and is compatible with multi-platform builds
223
+ if (!builderExists) {
224
+ const createLogs = [];
225
+ const args = [
226
+ "buildx",
227
+ "create",
228
+ "--name",
229
+ builder,
230
+ "--driver",
231
+ "docker-container",
232
+ options.network ? `--driver-opt=network=${options.network}` : undefined,
233
+ ].filter(Boolean);
234
+ const createProcess = x("docker", args);
235
+ for await (const line of createProcess) {
236
+ createLogs.push(line);
237
+ logger.debug(line);
238
+ options.onLog?.(line);
239
+ }
240
+ if (createProcess.exitCode !== 0) {
241
+ return {
242
+ ok: false,
243
+ error: `Failed to create buildx builder '${builder}'`,
244
+ logs: [...lsLogs, ...createLogs].join("\n"),
245
+ };
246
+ }
247
+ }
161
248
  const buildArgs = Object.entries(options.buildEnvVars || {})
162
249
  .filter(([key, value]) => value)
163
250
  .flatMap(([key, value]) => ["--build-arg", `${key}=${value}`]);
251
+ const apiUrl = normalizeApiUrlForBuild(options.apiUrl);
252
+ const addHost = getAddHost(apiUrl);
253
+ const push = shouldPush(options.imageTag, options.push);
254
+ const load = shouldLoad(options.load, push);
255
+ await ensureQemuRegistered(options.imagePlatform);
164
256
  const args = [
257
+ "buildx",
165
258
  "build",
259
+ "--builder",
260
+ builder,
166
261
  "-f",
167
262
  "Containerfile",
168
263
  options.noCache ? "--no-cache" : undefined,
169
264
  "--platform",
170
- options.buildPlatform,
171
- ...(options.network ? ["--network", options.network] : []),
265
+ options.imagePlatform,
266
+ options.network ? `--network=${options.network}` : undefined,
267
+ addHost ? `--add-host=${addHost}` : undefined,
268
+ push ? "--push" : undefined,
269
+ load ? "--load" : undefined,
270
+ "--provenance",
271
+ "false",
272
+ "--metadata-file",
273
+ "metadata.json",
172
274
  "--build-arg",
173
275
  `TRIGGER_PROJECT_ID=${options.projectId}`,
174
276
  "--build-arg",
@@ -180,7 +282,7 @@ async function selfHostedBuildImage(options) {
180
282
  "--build-arg",
181
283
  `TRIGGER_PROJECT_REF=${options.projectRef}`,
182
284
  "--build-arg",
183
- `TRIGGER_API_URL=${normalizeApiUrlForBuild(options.apiUrl)}`,
285
+ `TRIGGER_API_URL=${apiUrl}`,
184
286
  "--build-arg",
185
287
  `TRIGGER_PREVIEW_BRANCH=${options.branchName ?? ""}`,
186
288
  "--build-arg",
@@ -190,14 +292,11 @@ async function selfHostedBuildImage(options) {
190
292
  "--progress",
191
293
  "plain",
192
294
  "-t",
193
- imageRef,
295
+ options.imageTag,
194
296
  ".", // The build context
195
297
  ].filter(Boolean);
196
- logger.debug(`docker ${args.join(" ")}`, {
197
- cwd: options.cwd,
198
- });
298
+ logger.debug(`docker ${args.join(" ")}`, { cwd: options.cwd });
199
299
  const errors = [];
200
- let digest;
201
300
  // Build the image
202
301
  const buildProcess = x("docker", args, {
203
302
  nodeOptions: { cwd: options.cwd },
@@ -215,9 +314,23 @@ async function selfHostedBuildImage(options) {
215
314
  logs: extractLogs(errors),
216
315
  };
217
316
  }
218
- digest = extractImageDigest(errors);
317
+ const metadataPath = join(options.cwd, "metadata.json");
318
+ const rawMetadata = await safeReadJSONFile(metadataPath);
319
+ const meta = BuildKitMetadata.safeParse(rawMetadata);
320
+ let digest;
321
+ if (!meta.success) {
322
+ logger.error("Failed to parse metadata.json", {
323
+ errors: meta.error.message,
324
+ path: metadataPath,
325
+ });
326
+ }
327
+ else {
328
+ logger.debug("Parsed metadata.json", { metadata: meta.data, path: metadataPath });
329
+ // Always use the manifest (list) digest
330
+ digest = meta.data["containerimage.digest"];
331
+ }
219
332
  // Get the image size
220
- const sizeProcess = x("docker", ["image", "inspect", imageRef, "--format={{.Size}}"], {
333
+ const sizeProcess = x("docker", ["image", "inspect", options.imageTag, "--format={{.Size}}"], {
221
334
  nodeOptions: { cwd: options.cwd },
222
335
  });
223
336
  let imageSizeBytes = 0;
@@ -232,63 +345,18 @@ async function selfHostedBuildImage(options) {
232
345
  // Convert to MB and log
233
346
  options.onLog?.(`Image size: ${(imageSizeBytes / (1024 * 1024)).toFixed(2)} MB`);
234
347
  }
235
- if (options.selfHostedRegistry || options.pushImage) {
236
- const pushArgs = ["push", imageRef].filter(Boolean);
237
- logger.debug(`docker ${pushArgs.join(" ")}`);
238
- // Push the image
239
- const pushProcess = x("docker", pushArgs, {
240
- nodeOptions: { cwd: options.cwd },
241
- });
242
- for await (const line of pushProcess) {
243
- logger.debug(line);
244
- errors.push(line);
245
- }
246
- if (pushProcess.exitCode !== 0) {
247
- return {
248
- ok: false,
249
- error: "Error pushing image",
250
- logs: extractLogs(errors),
251
- };
252
- }
253
- }
254
348
  return {
255
349
  ok: true,
256
- image: options.imageTag,
257
350
  imageSizeBytes,
258
351
  digest,
259
352
  logs: extractLogs(errors),
260
353
  };
261
354
  }
262
- async function ensureLoggedIntoDockerRegistry(registryHost, auth) {
263
- const tmpDir = await createTempDir();
264
- // Read the current docker config
265
- const dockerConfigPath = join(tmpDir, "config.json");
266
- await writeJSONFile(dockerConfigPath, {
267
- auths: {
268
- [registryHost]: {
269
- auth: Buffer.from(`${auth.username}:${auth.password}`).toString("base64"),
270
- },
271
- },
272
- });
273
- logger.debug(`Writing docker config to ${dockerConfigPath}`);
274
- return tmpDir;
275
- }
276
355
  function extractLogs(outputs) {
277
356
  // Remove empty lines
278
357
  const cleanedOutputs = outputs.map((line) => line.trim()).filter((line) => line !== "");
279
358
  return cleanedOutputs.map((line) => line.trim()).join("\n");
280
359
  }
281
- function extractImageDigest(outputs) {
282
- const imageDigestRegex = /pushing manifest for .+(?<digest>sha256:[a-f0-9]{64})/;
283
- for (const line of outputs) {
284
- const imageDigestMatch = line.match(imageDigestRegex);
285
- const digest = imageDigestMatch?.groups?.digest;
286
- if (digest) {
287
- return digest;
288
- }
289
- }
290
- return;
291
- }
292
360
  const BASE_IMAGE = {
293
361
  bun: "imbios/bun-node:1.2.1-22-slim@sha256:6c31db8f11f0d37357ef8156c2dab684448b54a1fb50ca1c22bca82bce76c788",
294
362
  node: "node:21.7.3-bookworm-slim@sha256:dfc05dee209a1d7adf2ef189bd97396daad4e97c6eaa85778d6f75205ba1b0fb",
@@ -388,6 +456,10 @@ ENV TRIGGER_PROJECT_ID=\${TRIGGER_PROJECT_ID} \
388
456
  NODE_EXTRA_CA_CERTS=\${NODE_EXTRA_CA_CERTS} \
389
457
  NODE_ENV=production
390
458
 
459
+ ARG TARGETPLATFORM
460
+ ARG BUILDPLATFORM
461
+ ENV BUILDPLATFORM=$BUILDPLATFORM TARGETPLATFORM=$TARGETPLATFORM
462
+
391
463
  # Run the indexer
392
464
  RUN bun run ${options.indexScript}
393
465
 
@@ -493,6 +565,10 @@ ENV TRIGGER_PROJECT_ID=\${TRIGGER_PROJECT_ID} \
493
565
  NODE_ENV=production \
494
566
  NODE_OPTIONS="--max_old_space_size=8192"
495
567
 
568
+ ARG TARGETPLATFORM
569
+ ARG BUILDPLATFORM
570
+ ENV BUILDPLATFORM=$BUILDPLATFORM TARGETPLATFORM=$TARGETPLATFORM
571
+
496
572
  # Run the indexer
497
573
  RUN node ${options.indexScript}
498
574
 
@@ -527,12 +603,119 @@ ENTRYPOINT [ "dumb-init", "node", "${options.entrypoint}" ]
527
603
  CMD []
528
604
  `;
529
605
  }
530
- // If apiUrl is something like http://localhost:3030, AND we are on macOS, we need to convert it to http://host.docker.internal:3030
606
+ // If apiUrl is something like http://localhost:3030, we need to convert it to http://host.docker.internal:3030
531
607
  // this way the indexing will work because the docker image can reach the local server
532
608
  function normalizeApiUrlForBuild(apiUrl) {
533
- if (process.platform === "darwin") {
534
- return apiUrl.replace("localhost", "host.docker.internal");
609
+ return apiUrl.replace("localhost", "host.docker.internal");
610
+ }
611
+ function getHostIP() {
612
+ const interfaces = networkInterfaces();
613
+ for (const [name, iface] of Object.entries(interfaces)) {
614
+ if (!iface) {
615
+ continue;
616
+ }
617
+ for (const net of iface) {
618
+ // Skip internal/loopback and non-IPv4 addresses
619
+ if (!net.internal && net.family === "IPv4") {
620
+ return net.address;
621
+ }
622
+ }
623
+ }
624
+ return "127.0.0.1";
625
+ }
626
+ function getAddHost(apiUrl) {
627
+ if (apiUrl.includes("host.docker.internal")) {
628
+ return `host.docker.internal:${getHostIP()}`;
629
+ }
630
+ return;
631
+ }
632
+ function isQemuRegistered() {
633
+ try {
634
+ // Check a single QEMU handler
635
+ const binfmt = readFileSync("/proc/sys/fs/binfmt_misc/qemu-aarch64", "utf8");
636
+ return binfmt.includes("enabled");
637
+ }
638
+ catch (e) {
639
+ return false;
640
+ }
641
+ }
642
+ function isMultiPlatform(imagePlatform) {
643
+ return imagePlatform.split(",").length > 1;
644
+ }
645
+ async function ensureQemuRegistered(imagePlatform) {
646
+ if (isLinux && isMultiPlatform(imagePlatform) && !isQemuRegistered()) {
647
+ logger.debug("Registering QEMU for multi-platform build...");
648
+ const ensureQemuProcess = x("docker", [
649
+ "run",
650
+ "--rm",
651
+ "--privileged",
652
+ "multiarch/qemu-user-static",
653
+ "--reset",
654
+ "-p",
655
+ "yes",
656
+ ]);
657
+ const logs = [];
658
+ for await (const line of ensureQemuProcess) {
659
+ logger.debug(line);
660
+ logs.push(line);
661
+ }
662
+ if (ensureQemuProcess.exitCode !== 0) {
663
+ logger.error("Failed to register QEMU for multi-platform build", {
664
+ exitCode: ensureQemuProcess.exitCode,
665
+ logs: logs.join("\n"),
666
+ });
667
+ }
668
+ }
669
+ }
670
+ const BuildKitMetadata = z.object({
671
+ "buildx.build.ref": z.string().optional(),
672
+ "containerimage.descriptor": z
673
+ .object({
674
+ mediaType: z.string(),
675
+ digest: z.string(),
676
+ size: z.number(),
677
+ })
678
+ .optional(),
679
+ "containerimage.digest": z.string().optional(),
680
+ "containerimage.config.digest": z.string().optional(),
681
+ "image.name": z.string().optional(),
682
+ });
683
+ // Don't push if the image tag is a local address, unless the user explicitly wants to push
684
+ function shouldPush(imageTag, push) {
685
+ switch (push) {
686
+ case true: {
687
+ return true;
688
+ }
689
+ case false: {
690
+ return false;
691
+ }
692
+ case undefined: {
693
+ return imageTag.startsWith("localhost") ||
694
+ imageTag.startsWith("127.0.0.1") ||
695
+ imageTag.startsWith("0.0.0.0")
696
+ ? false
697
+ : true;
698
+ }
699
+ default: {
700
+ assertExhaustive(push);
701
+ }
702
+ }
703
+ }
704
+ // Don't load if we're pushing, unless the user explicitly wants to load
705
+ function shouldLoad(load, push) {
706
+ switch (load) {
707
+ case true: {
708
+ return true;
709
+ }
710
+ case false: {
711
+ return false;
712
+ }
713
+ case undefined: {
714
+ return push ? false : true;
715
+ }
716
+ default: {
717
+ assertExhaustive(load);
718
+ }
535
719
  }
536
- return apiUrl;
537
720
  }
538
721
  //# sourceMappingURL=buildImage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildImage.js","sourceRoot":"","sources":["../../../src/deploy/buildImage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildImage.js","sourceRoot":"","sources":["../../../src/deploy/buildImage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAqCpE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,MAAM,EACJ,YAAY,EACZ,aAAa,EACb,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,UAAU,EACV,YAAY,EACZ,MAAM,EACN,MAAM,EACN,UAAU,EACV,YAAY,EACZ,OAAO,EACP,OAAO,EACP,KAAK,GACN,GAAG,OAAO,CAAC;IAEZ,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,eAAe,CAAC;YACrB,QAAQ;YACR,aAAa;YACb,GAAG,EAAE,eAAe;YACpB,SAAS;YACT,YAAY;YACZ,iBAAiB;YACjB,WAAW;YACX,UAAU;YACV,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,YAAY;YACZ,MAAM;YACN,MAAM;YACN,UAAU;YACV,YAAY;YACZ,OAAO;YACP,OAAO;YACP,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,eAAe,IAAI,CAAC,kBAAkB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,0LAA0L,CAC3L,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,kBAAkB;QAC9B,cAAc,EAAE,sBAAsB;QACtC,GAAG,EAAE,eAAe;QACpB,SAAS;QACT,YAAY;QACZ,iBAAiB;QACjB,WAAW;QACX,UAAU;QACV,IAAI;QACJ,aAAa;QACb,OAAO;QACP,YAAY;QACZ,MAAM;QACN,MAAM;QACN,UAAU;QACV,YAAY;QACZ,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAuCD,KAAK,UAAU,gBAAgB,CAAC,OAA+B;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;SACzD,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;SAC/B,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjE,MAAM,IAAI,GAAG;QACX,OAAO;QACP,IAAI;QACJ,eAAe;QACf,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC1C,YAAY;QACZ,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACnC,cAAc;QACd,OAAO;QACP,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,sBAAsB,OAAO,CAAC,SAAS,EAAE;QACzC,aAAa;QACb,yBAAyB,OAAO,CAAC,YAAY,EAAE;QAC/C,aAAa;QACb,8BAA8B,OAAO,CAAC,iBAAiB,EAAE;QACzD,aAAa;QACb,wBAAwB,OAAO,CAAC,WAAW,EAAE;QAC7C,aAAa;QACb,uBAAuB,OAAO,CAAC,UAAU,EAAE;QAC3C,aAAa;QACb,mBAAmB,OAAO,CAAC,MAAM,EAAE;QACnC,aAAa;QACb,0BAA0B,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE;QACpD,aAAa;QACb,sBAAsB,OAAO,CAAC,MAAM,EAAE;QACtC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACpB,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,uBAAuB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,YAAY;QACZ,OAAO;QACP,GAAG;QACH,QAAQ;KACT,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAE9B,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE9D,mCAAmC;IACnC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE;YACH,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,gBAAgB,EAAE,OAAO,CAAC,cAAc;YACxC,qBAAqB,EAAE,GAAG;YAC1B,wBAAwB,EAAE,GAAG;SAC9B;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAChE,6DAA6D;YAC7D,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE7B,sEAAsE;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,EAAE,EAAE,KAAc;gBAClB,KAAK,EAAE,sBAAsB;gBAC7B,IAAI;aACL,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAErD,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBAC5C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC1B,IAAI,EAAE,YAAY;aACnB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YAClF,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAa;YACjB,cAAc,EAAE,CAAC;YACjB,IAAI;YACJ,MAAM;SACP,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACzD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;SAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAwBD,KAAK,UAAU,eAAe,CAAC,OAAoC;IACjE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEtC,gEAAgE;IAChE,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,yBAAyB;IACzB,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IACzE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,KAAK,EAAE,gCAAgC;YACvC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,wDAAwD;QACxD,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YACxC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvB,IAAI,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;gBACjF,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,EAAE,EAAE,KAAc;gBAClB,KAAK,EAAE,qCAAqC,OAAO,GAAG;gBACtD,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;aAC7B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,6DAA6D;YAC7D,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAa,EAAE,CAAC;YAEhC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO;oBACL,EAAE,EAAE,KAAc;oBAClB,KAAK,EAAE,oCAAoC,OAAO,GAAG;oBACrD,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC5B,CAAC;YACJ,CAAC;YAED,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,MAAM,IAAI,GACR;YACE,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,UAAU;YACV,kBAAkB;YAClB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;SAE1E,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;QAE9B,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,EAAE,EAAE,KAAc;gBAClB,KAAK,EAAE,oCAAoC,OAAO,GAAG;gBACrD,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;SACzD,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;SAC/B,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE5C,MAAM,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG;QACX,QAAQ;QACR,OAAO;QACP,WAAW;QACX,OAAO;QACP,IAAI;QACJ,eAAe;QACf,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC1C,YAAY;QACZ,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;QAC5D,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;QAC7C,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC3B,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC3B,cAAc;QACd,OAAO;QACP,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,sBAAsB,OAAO,CAAC,SAAS,EAAE;QACzC,aAAa;QACb,yBAAyB,OAAO,CAAC,YAAY,EAAE;QAC/C,aAAa;QACb,8BAA8B,OAAO,CAAC,iBAAiB,EAAE;QACzD,aAAa;QACb,wBAAwB,OAAO,CAAC,WAAW,EAAE;QAC7C,aAAa;QACb,uBAAuB,OAAO,CAAC,UAAU,EAAE;QAC3C,aAAa;QACb,mBAAmB,MAAM,EAAE;QAC3B,aAAa;QACb,0BAA0B,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE;QACpD,aAAa;QACb,sBAAsB,OAAO,CAAC,MAAM,EAAE;QACtC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACpB,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,uBAAuB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,YAAY;QACZ,OAAO;QACP,IAAI;QACJ,OAAO,CAAC,QAAQ;QAChB,GAAG,EAAE,oBAAoB;KAC1B,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAE9B,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,kBAAkB;IAClB,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE;QACrC,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KAClC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACtC,sEAAsE;QACtE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,EAAE,EAAE,KAAc;YAClB,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAErD,IAAI,MAA0B,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;YAC5C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC1B,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAElF,wCAAwC;QACxC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC;IAED,qBAAqB;IACrB,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAAE;QAC5F,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KAClC,CAAC,CAAC;IAEH,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,cAAc,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM;IACR,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,wBAAwB;QACxB,OAAO,CAAC,KAAK,EAAE,CAAC,eAAe,CAAC,cAAc,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAa;QACjB,cAAc;QACd,MAAM;QACN,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAiB;IACpC,qBAAqB;IACrB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAExF,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAUD,MAAM,UAAU,GAAiC;IAC/C,GAAG,EAAE,uGAAuG;IAC5G,IAAI,EAAE,mGAAmG;IACzG,SAAS,EACP,oGAAoG;CACvG,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAEvF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAqC;IAC/E,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,OAAqC,EAAE,EAAE;IACrE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;SACtD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC;SAChC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;SACzD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,mBAAmB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjG,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3F,GAAG,CACJ,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,gBAAgB;QAChB,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,UAAU,wBAAwB,CAAC,OAAqC;IAC3E,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAC3F,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEhC,OAAO;OACF,SAAS;;EAEd,gBAAgB;;;;;+CAK6B,QAAQ;;;;;;;;;;;;;;EAcrD,SAAS;;EAET,YAAY;;;;;;;;;EASZ,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiCP,OAAO,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCA6BI,OAAO,CAAC,UAAU;;GAEpD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,OAAqC;IAC5E,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAC3F,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEhC,OAAO;OACF,SAAS;;EAEd,gBAAgB;;;;;+CAK6B,QAAQ;;;;;;;;;;;;;;EAcrD,SAAS;;EAET,YAAY;;;;;;;;;;;;EAYZ,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAsCV,OAAO,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCA6BO,OAAO,CAAC,UAAU;;GAEpD,CAAC;AACJ,CAAC;AAED,+GAA+G;AAC/G,sFAAsF;AACtF,SAAS,uBAAuB,CAAC,MAAc;IAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,gDAAgD;YAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3C,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC5C,OAAO,wBAAwB,SAAS,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED,OAAO;AACT,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,aAAqB;IAC5C,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,aAAqB;IACvD,IAAI,OAAO,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAE7D,MAAM,iBAAiB,GAAG,CAAC,CAAC,QAAQ,EAAE;YACpC,KAAK;YACL,MAAM;YACN,cAAc;YACd,4BAA4B;YAC5B,SAAS;YACT,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,iBAAiB,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;gBAC/D,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;gBACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,2BAA2B,EAAE,CAAC;SAC3B,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;SACD,QAAQ,EAAE;IACb,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9C,8BAA8B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,2FAA2F;AAC3F,SAAS,UAAU,CAAC,QAAgB,EAAE,IAAc;IAClD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;gBACrC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;gBAChC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC9B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,SAAS,UAAU,CAAC,IAAc,EAAE,IAAc;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -9,6 +9,8 @@ import { DevRunController } from "../entryPoints/dev-run-controller.js";
9
9
  import { io } from "socket.io-client";
10
10
  import pLimit from "p-limit";
11
11
  import { resolveLocalEnvVars } from "../utilities/localEnvVars.js";
12
+ import { TaskRunProcessPool } from "./taskRunProcessPool.js";
13
+ import { tryCatch } from "@trigger.dev/core/utils";
12
14
  export async function startWorkerRuntime(options) {
13
15
  const runtime = new DevSupervisor(options);
14
16
  await runtime.init();
@@ -37,6 +39,7 @@ class DevSupervisor {
37
39
  runControllers = new Map();
38
40
  socketConnections = new Set();
39
41
  runLimiter;
42
+ taskRunProcessPool;
40
43
  constructor(options) {
41
44
  this.options = options;
42
45
  }
@@ -53,6 +56,33 @@ class DevSupervisor {
53
56
  const maxConcurrentRuns = Math.min(this.config.maxConcurrentRuns, this.options.args.maxConcurrentRuns ?? this.config.maxConcurrentRuns);
54
57
  logger.debug("[DevSupervisor] Using maxConcurrentRuns", { maxConcurrentRuns });
55
58
  this.runLimiter = pLimit(maxConcurrentRuns);
59
+ // Initialize the task run process pool
60
+ const env = await this.#getEnvVars();
61
+ const enableProcessReuse = typeof this.options.config.experimental_processKeepAlive === "boolean"
62
+ ? this.options.config.experimental_processKeepAlive
63
+ : typeof this.options.config.experimental_processKeepAlive === "object"
64
+ ? this.options.config.experimental_processKeepAlive.enabled
65
+ : false;
66
+ const maxPoolSize = typeof this.options.config.experimental_processKeepAlive === "object"
67
+ ? this.options.config.experimental_processKeepAlive.devMaxPoolSize ?? 25
68
+ : 25;
69
+ const maxExecutionsPerProcess = typeof this.options.config.experimental_processKeepAlive === "object"
70
+ ? this.options.config.experimental_processKeepAlive.maxExecutionsPerProcess ?? 50
71
+ : 50;
72
+ if (enableProcessReuse) {
73
+ logger.debug("[DevSupervisor] Enabling process reuse", {
74
+ enableProcessReuse,
75
+ maxPoolSize,
76
+ maxExecutionsPerProcess,
77
+ });
78
+ }
79
+ this.taskRunProcessPool = new TaskRunProcessPool({
80
+ env,
81
+ cwd: this.options.config.workingDir,
82
+ enableProcessReuse,
83
+ maxPoolSize,
84
+ maxExecutionsPerProcess,
85
+ });
56
86
  this.socket = this.#createSocket();
57
87
  //start an SSE connection for presence
58
88
  this.disconnectPresence = await this.#startPresenceConnection();
@@ -67,6 +97,15 @@ class DevSupervisor {
67
97
  catch (error) {
68
98
  logger.debug("[DevSupervisor] shutdown, socket failed to close", { error });
69
99
  }
100
+ // Shutdown the task run process pool
101
+ if (this.taskRunProcessPool) {
102
+ const [shutdownError] = await tryCatch(this.taskRunProcessPool.shutdown());
103
+ if (shutdownError) {
104
+ logger.debug("[DevSupervisor] shutdown, task run process pool failed to shutdown", {
105
+ error: shutdownError,
106
+ });
107
+ }
108
+ }
70
109
  }
71
110
  async initializeWorker(manifest, metafile, stop) {
72
111
  if (this.lastManifest && this.lastManifest.contentHash === manifest.contentHash) {
@@ -200,12 +239,20 @@ class DevSupervisor {
200
239
  });
201
240
  continue;
202
241
  }
242
+ if (!this.taskRunProcessPool) {
243
+ logger.debug(`[DevSupervisor] dequeueRuns. No task run process pool`, {
244
+ run: message.run.friendlyId,
245
+ worker,
246
+ });
247
+ continue;
248
+ }
203
249
  //new run
204
250
  runController = new DevRunController({
205
251
  runFriendlyId: message.run.friendlyId,
206
252
  worker: worker,
207
253
  httpClient: this.options.client,
208
254
  logLevel: this.options.args.logLevel,
255
+ taskRunProcessPool: this.taskRunProcessPool,
209
256
  onFinished: () => {
210
257
  logger.debug("[DevSupervisor] Run finished", { runId: message.run.friendlyId });
211
258
  //stop the run controller, and remove it
@@ -427,6 +474,9 @@ class DevSupervisor {
427
474
  if (!worker) {
428
475
  return;
429
476
  }
477
+ if (worker.serverWorker?.version) {
478
+ this.taskRunProcessPool?.deprecateVersion(worker.serverWorker?.version);
479
+ }
430
480
  if (this.#workerHasInProgressRuns(friendlyId)) {
431
481
  return;
432
482
  }