From 7f8882aaf37103bfc463042d5f3ed855b36c77f1 Mon Sep 17 00:00:00 2001 From: sswrk Date: Mon, 23 Mar 2026 15:31:31 +0100 Subject: [PATCH 1/2] [eas-build-job] Add app_store_connect event context to WorkflowInterpolationContext --- .../src/__tests__/common.test.ts | 30 +++++++++++++++++++ packages/eas-build-job/src/common.ts | 9 ++++++ 2 files changed, 39 insertions(+) diff --git a/packages/eas-build-job/src/__tests__/common.test.ts b/packages/eas-build-job/src/__tests__/common.test.ts index 9ffc83688f..c6cbbfae4f 100644 --- a/packages/eas-build-job/src/__tests__/common.test.ts +++ b/packages/eas-build-job/src/__tests__/common.test.ts @@ -24,6 +24,36 @@ describe('StaticWorkflowInterpolationContextZ', () => { expect(StaticWorkflowInterpolationContextZ.parse(context)).toEqual(context); }); + it('accepts app_store_connect context', () => { + const context = { + after: {}, + needs: {}, + workflow: { + id: 'workflow-id', + name: 'workflow-name', + filename: 'workflow.yml', + url: 'https://expo.dev/accounts/example/workflows/workflow-id', + }, + app: { + id: 'app-id', + slug: 'app-slug', + }, + account: { + id: 'account-id', + name: 'account-name', + }, + app_store_connect: { + event: { + app: { + id: '1234567890', + }, + }, + }, + }; + + expect(StaticWorkflowInterpolationContextZ.parse(context)).toEqual(context); + }); + it('rejects invalid app and account context', () => { const context = { after: {}, diff --git a/packages/eas-build-job/src/common.ts b/packages/eas-build-job/src/common.ts index 3a20a9407a..33cd5f7cc2 100644 --- a/packages/eas-build-job/src/common.ts +++ b/packages/eas-build-job/src/common.ts @@ -259,6 +259,15 @@ export const StaticWorkflowInterpolationContextZ = z.object({ id: z.string(), name: z.string(), }), + app_store_connect: z + .looseObject({ + event: z.looseObject({ + app: z.looseObject({ + id: z.string(), + }), + }), + }) + .optional(), }); export type StaticWorkflowInterpolationContext = z.infer< From 5f83b2e612ad54905036e742044fdd0b6c9888e8 Mon Sep 17 00:00:00 2001 From: sswrk Date: Wed, 1 Apr 2026 11:04:03 +0200 Subject: [PATCH 2/2] app_store_connect.app, not app_store_connect.event.app --- packages/eas-build-job/src/__tests__/common.test.ts | 6 ++---- packages/eas-build-job/src/common.ts | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/eas-build-job/src/__tests__/common.test.ts b/packages/eas-build-job/src/__tests__/common.test.ts index c6cbbfae4f..de65147ae1 100644 --- a/packages/eas-build-job/src/__tests__/common.test.ts +++ b/packages/eas-build-job/src/__tests__/common.test.ts @@ -43,10 +43,8 @@ describe('StaticWorkflowInterpolationContextZ', () => { name: 'account-name', }, app_store_connect: { - event: { - app: { - id: '1234567890', - }, + app: { + id: '1234567890', }, }, }; diff --git a/packages/eas-build-job/src/common.ts b/packages/eas-build-job/src/common.ts index 33cd5f7cc2..1ebeb85b54 100644 --- a/packages/eas-build-job/src/common.ts +++ b/packages/eas-build-job/src/common.ts @@ -261,10 +261,8 @@ export const StaticWorkflowInterpolationContextZ = z.object({ }), app_store_connect: z .looseObject({ - event: z.looseObject({ - app: z.looseObject({ - id: z.string(), - }), + app: z.looseObject({ + id: z.string(), }), }) .optional(),