Skip to content

Commit eb3aca5

Browse files
committed
Add triggeredVia and build server meta to the deployments table
1 parent cf63fc9 commit eb3aca5

File tree

5 files changed

+42
-3
lines changed

5 files changed

+42
-3
lines changed

apps/webapp/app/v3/services/initializeDeployment.server.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { type InitializeDeploymentRequestBody } from "@trigger.dev/core/v3";
1+
import { BuildServerMetadata, type InitializeDeploymentRequestBody } from "@trigger.dev/core/v3";
22
import { customAlphabet } from "nanoid";
33
import { env } from "~/env.server";
44
import { type AuthenticatedEnvironment } from "~/services/apiAuth.server";
@@ -190,6 +190,21 @@ export class InitializeDeploymentService extends BaseService {
190190
isNativeBuild: payload.isNativeBuild,
191191
});
192192

193+
const buildServerMetadata: BuildServerMetadata | undefined =
194+
payload.isNativeBuild || payload.buildId
195+
? {
196+
buildId: payload.buildId,
197+
...(payload.isNativeBuild
198+
? {
199+
isNativeBuild: payload.isNativeBuild,
200+
artifactKey: payload.artifactKey,
201+
skipPromotion: payload.skipPromotion,
202+
configFilePath: payload.configFilePath,
203+
}
204+
: {}),
205+
}
206+
: undefined;
207+
193208
const deployment = await this._prisma.workerDeployment.create({
194209
data: {
195210
friendlyId: generateFriendlyId("deployment"),
@@ -200,12 +215,14 @@ export class InitializeDeploymentService extends BaseService {
200215
environmentId: environment.id,
201216
projectId: environment.projectId,
202217
externalBuildData,
218+
buildServerMetadata,
203219
triggeredById: triggeredBy?.id,
204220
type: payload.type,
205221
imageReference: imageRef,
206222
imagePlatform: env.DEPLOY_IMAGE_PLATFORM,
207223
git: payload.gitMeta ?? undefined,
208224
runtime: payload.runtime ?? undefined,
225+
triggeredVia: payload.triggeredVia ?? undefined,
209226
startedAt: initialStatus === "BUILDING" ? new Date() : undefined,
210227
},
211228
});
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE "public"."WorkerDeployment" ADD COLUMN "buildServerMetadata" JSONB;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE "public"."WorkerDeployment" ADD COLUMN "triggeredVia" TEXT;

internal-packages/database/prisma/schema.prisma

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1749,6 +1749,7 @@ model WorkerDeployment {
17491749
imagePlatform String @default("linux/amd64")
17501750
17511751
externalBuildData Json?
1752+
buildServerMetadata Json?
17521753
17531754
status WorkerDeploymentStatus @default(PENDING)
17541755
type WorkerDeploymentType @default(V1)
@@ -1764,6 +1765,7 @@ model WorkerDeployment {
17641765
17651766
triggeredBy User? @relation(fields: [triggeredById], references: [id], onDelete: SetNull, onUpdate: Cascade)
17661767
triggeredById String?
1768+
triggeredVia String?
17671769
17681770
startedAt DateTime?
17691771
installedAt DateTime?

packages/core/src/v3/schemas/api.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,24 @@ export const ExternalBuildData = z.object({
400400

401401
export type ExternalBuildData = z.infer<typeof ExternalBuildData>;
402402

403+
const anyString = z.custom<string & {}>((v) => typeof v === "string");
404+
405+
export const DeploymentTriggeredVia = z
406+
.enum(["cli:manual", "cli:ci", "cli:github_actions", "git_integration:github", "dashboard"])
407+
.or(anyString);
408+
409+
export type DeploymentTriggeredVia = z.infer<typeof DeploymentTriggeredVia>;
410+
411+
export const BuildServerMetadata = z.object({
412+
buildId: z.string().optional(),
413+
isNativeBuild: z.boolean().optional(),
414+
artifactKey: z.string().optional(),
415+
skipPromotion: z.boolean().optional(),
416+
configFilePath: z.string().optional(),
417+
});
418+
419+
export type BuildServerMetadata = z.infer<typeof BuildServerMetadata>;
420+
403421
export const UpsertBranchRequestBody = z.object({
404422
git: GitMeta.optional(),
405423
env: z.enum(["preview"]),
@@ -462,6 +480,8 @@ export const InitializeDeploymentRequestBody = z
462480
type: z.enum(["MANAGED", "UNMANAGED", "V1"]).optional(),
463481
runtime: z.string().optional(),
464482
initialStatus: z.enum(["PENDING", "BUILDING"]).optional(),
483+
triggeredVia: DeploymentTriggeredVia.optional(),
484+
buildId: z.string().optional(),
465485
})
466486
.and(
467487
z.preprocess(
@@ -587,8 +607,6 @@ export const DeploymentLogEvent = z.object({
587607
}),
588608
});
589609

590-
const anyString = z.custom<string & {}>((v) => typeof v === "string");
591-
592610
export const DeploymentFinalizedEvent = z.object({
593611
type: z.literal("finalized"),
594612
data: z.object({

0 commit comments

Comments
 (0)