diff --git a/packages/eas-cli/src/build/android/graphql.ts b/packages/eas-cli/src/build/android/graphql.ts index 67b644e380..0dceafa5e1 100644 --- a/packages/eas-cli/src/build/android/graphql.ts +++ b/packages/eas-cli/src/build/android/graphql.ts @@ -8,6 +8,7 @@ import { transformProjectArchive, transformWorkflow, } from '../graphql'; +import { buildProfileEnvironmentToEnvironment } from '../utils/environment'; export function transformJob(job: Android.Job): AndroidJobInput { return { @@ -29,6 +30,7 @@ export function transformJob(job: Android.Job): AndroidJobInput { experimental: job.experimental, mode: transformBuildMode(job.mode), customBuildConfig: job.customBuildConfig, + environment: buildProfileEnvironmentToEnvironment(job.environment), loggerLevel: job.loggerLevel ? loggerLevelToGraphQLWorkerLoggerLevel[job.loggerLevel] : undefined, diff --git a/packages/eas-cli/src/build/android/prepareJob.ts b/packages/eas-cli/src/build/android/prepareJob.ts index 9109b8632e..00023b78b0 100644 --- a/packages/eas-cli/src/build/android/prepareJob.ts +++ b/packages/eas-cli/src/build/android/prepareJob.ts @@ -92,6 +92,7 @@ export async function prepareJobAsync( gradleCommand: buildProfile.gradleCommand, applicationArchivePath: buildProfile.applicationArchivePath ?? buildProfile.artifactPath, buildArtifactPaths: buildProfile.buildArtifactPaths, + environment: ctx.buildProfile.environment, buildType, username, ...(ctx.android.versionCodeOverride && { diff --git a/packages/eas-cli/src/build/evaluateConfigWithEnvVarsAsync.ts b/packages/eas-cli/src/build/evaluateConfigWithEnvVarsAsync.ts index 996a08d761..47f4dfc4ad 100644 --- a/packages/eas-cli/src/build/evaluateConfigWithEnvVarsAsync.ts +++ b/packages/eas-cli/src/build/evaluateConfigWithEnvVarsAsync.ts @@ -1,17 +1,12 @@ import { Env } from '@expo/eas-build-job'; import { BuildProfile } from '@expo/eas-json'; +import { isEnvironment } from './utils/environment'; import { ExpoGraphqlClient } from '../commandUtils/context/contextUtils/createGraphqlClient'; import { EnvironmentVariableEnvironment } from '../graphql/generated'; import { EnvironmentVariablesQuery } from '../graphql/queries/EnvironmentVariablesQuery'; import Log, { learnMore } from '../log'; -function isEnvironment(env: string): env is EnvironmentVariableEnvironment { - return Object.values(EnvironmentVariableEnvironment).includes( - env as EnvironmentVariableEnvironment - ); -} - export async function evaluateConfigWithEnvVarsAsync<Config extends { projectId: string }, Opts>({ buildProfile, buildProfileName, diff --git a/packages/eas-cli/src/build/ios/graphql.ts b/packages/eas-cli/src/build/ios/graphql.ts index a143363a8b..6cc958168e 100644 --- a/packages/eas-cli/src/build/ios/graphql.ts +++ b/packages/eas-cli/src/build/ios/graphql.ts @@ -9,6 +9,7 @@ import { transformProjectArchive, transformWorkflow, } from '../graphql'; +import { buildProfileEnvironmentToEnvironment } from '../utils/environment'; export function transformJob(job: Ios.Job): IosJobInput { return { @@ -31,6 +32,7 @@ export function transformJob(job: Ios.Job): IosJobInput { experimental: job.experimental, mode: transformBuildMode(job.mode), customBuildConfig: job.customBuildConfig, + environment: buildProfileEnvironmentToEnvironment(job.environment), loggerLevel: job.loggerLevel ? loggerLevelToGraphQLWorkerLoggerLevel[job.loggerLevel] : undefined, diff --git a/packages/eas-cli/src/build/ios/prepareJob.ts b/packages/eas-cli/src/build/ios/prepareJob.ts index 8451d1adbf..d2a6a11d05 100644 --- a/packages/eas-cli/src/build/ios/prepareJob.ts +++ b/packages/eas-cli/src/build/ios/prepareJob.ts @@ -88,6 +88,7 @@ export async function prepareJobAsync( buildConfiguration: buildProfile.buildConfiguration, applicationArchivePath: buildProfile.applicationArchivePath ?? buildProfile.artifactPath, buildArtifactPaths: buildProfile.buildArtifactPaths, + environment: ctx.buildProfile.environment, username, ...(ctx.ios.buildNumberOverride && { version: { diff --git a/packages/eas-cli/src/build/metadata.ts b/packages/eas-cli/src/build/metadata.ts index 0cde2393f6..8d3cbe4420 100644 --- a/packages/eas-cli/src/build/metadata.ts +++ b/packages/eas-cli/src/build/metadata.ts @@ -62,7 +62,6 @@ export async function collectMetadataAsync<T extends Platform>( requiredPackageManager: ctx.requiredPackageManager ?? undefined, selectedImage: ctx.buildProfile.image, customNodeVersion: ctx.buildProfile.node, - environment: ctx.buildProfile.environment, simulator: 'simulator' in ctx.buildProfile && ctx.buildProfile.simulator, }; return sanitizeMetadata(metadata); diff --git a/packages/eas-cli/src/build/utils/environment.ts b/packages/eas-cli/src/build/utils/environment.ts new file mode 100644 index 0000000000..e1cc7068bf --- /dev/null +++ b/packages/eas-cli/src/build/utils/environment.ts @@ -0,0 +1,26 @@ +import { BuildProfile } from '@expo/eas-json'; + +import { EnvironmentVariableEnvironment } from '../../graphql/generated'; + +type Environment = NonNullable<BuildProfile['environment']>; + +const BuildProfileEnvironmentToEnvironment: Record<Environment, EnvironmentVariableEnvironment> = { + production: EnvironmentVariableEnvironment.Production, + preview: EnvironmentVariableEnvironment.Preview, + development: EnvironmentVariableEnvironment.Development, +}; + +export function isEnvironment(env: string): env is EnvironmentVariableEnvironment { + return Object.values(EnvironmentVariableEnvironment).includes( + env as EnvironmentVariableEnvironment + ); +} + +export function buildProfileEnvironmentToEnvironment( + environment: BuildProfile['environment'] +): EnvironmentVariableEnvironment | null { + if (!environment) { + return null; + } + return BuildProfileEnvironmentToEnvironment[environment]; +}