expo / expo/eas-cli

When I try to build production build, eas thinks it's development one

Open
#3,178 0 comments 0 reactions 0 assignees View on GitHub
needs review
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

https://expo.dev/accounts/klr-tech/projects/DriverApp/builds/85bac097-d361-4a69-8348-f6ed538f832e

### Summary

Last Wednesday when I built my production build without the APP_VARIANT environment variable, everything worked correctly. But today, with the same configuration, EAS thinks that I want to build the development version even when APP_VARIANT is not provided. You can see it below.

Project environment variables:
SENTRY_ORG=klr
SENTRY_PROJECT=driver-app
__API_SERVER_URL=https://api.expo.dev/
EXPO_PUBLIC_API_URL=our_url
EXPO_PUBLIC_SENTRY_DSN=sentry_url
EXPO_PUBLIC_WEBSOCKET_URL=websocket_url
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=clerk_key
Environment secrets:
EXPO_TOKEN=********
SENTRY_AUTH_TOKEN=********

Using app configuration:
{
"name": "KLR Водій (Dev)",
"slug": "DriverApp",
"version": "1.0.0",
"sdkVersion": "53.0.0",
"platforms": [
"ios",
"android",
"web"
],
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"scheme": "driverapp",
"userInterfaceStyle": "light",
"newArchEnabled": true,
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.klr.drivers.dev",
"infoPlist": {
"ITSAppUsesNonExemptEncryption": false
}
},
"android": {
"edgeToEdgeEnabled": true,
"package": "com.klr.drivers.dev",
"permissions": [
"android.permission.CAMERA",
"android.permission.RECORD_AUDIO"
]
},
}

So, the name is KLR Водій (Dev), but no APP_VARIANT in the build env variables.
Here is my app.config functions to get the name and identifier

const getUniqueIdentifier = () => {
if (IS_DEV) {
return 'com.klr.drivers.dev'
}

if (IS_PREVIEW) {
return 'com.klr.drivers.preview'
}

return 'com.klr.drivers'
}

const getAppName = () => {
if (IS_DEV) {
return 'KLR Водій (Dev)'
}

if (IS_PREVIEW) {
return 'KLR Водій (Preview)'
}

return 'KLR Водій'
}

### Managed or bare?

managed

### Environment

expo-env-info 2.0.7 environment info:
System:
OS: macOS 15.6.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.18.3 - ~/.volta/tools/image/node/20.18.3/bin/node
Yarn: 1.22.22 - ~/.volta/bin/yarn
npm: 10.8.2 - ~/.volta/tools/image/npm/10.8.2/bin/npm
Watchman: 2025.05.26.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 24.5, iOS 18.5, macOS 15.5, tvOS 18.5, visionOS 2.5, watchOS 11.5
IDEs:
Android Studio: 2024.2 AI-242.23339.11.2421.12700392
Xcode: 16.4/16F6 - /usr/bin/xcodebuild
npmPackages:
expo: ~53.0.22 => 53.0.22
expo-router: ~5.1.6 => 5.1.6
expo-updates: ~0.28.17 => 0.28.17
react: 19.0.0 => 19.0.0
react-dom: 19.0.0 => 19.0.0
react-native: 0.79.5 => 0.79.5
react-native-web: ~0.20.0 => 0.20.0
Expo Workflow: managed

17/17 checks passed. No issues detected!

### Error output

_No response_

### Reproducible demo or steps to reproduce from a blank project

Try to build the project without APP_VARIANT. Somehow it thinks that you want to build DEVELOPMENT, not PRODUCTION

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.