Skip to content

EAS update: Manifest Validation Error: scheme:must be string #3276

@rkostrab

Description

@rkostrab

Build/Submit details page URL

No response

Summary

If multiple schemas are used in app.config.ts and some of them contains some upper case then EAS updates are being terminated before uploading.

I have multiple schemas for my app in app.config.ts:

    runtimeVersion: {
      policy: 'appVersion',
    },
    scheme: ['something', 'something.with.One.uppercase', 'something.another'],
    slug: 'my-slug',

when I run update:

eas update --environment development --channel internal

I am getting error:

✖ Failed to publish updates
Manifest Validation Error:
scheme:must be string
scheme/1:'scheme/1' must match pattern "^[a-z][a-z0-9+.-]*$"
scheme:must match exactly one schema in oneOf
This is likely a problem with your app.json, or app.config.js
Request ID: e238f66b-1e5f-4b3c-ba47-8899fd3c8530
    Error: GraphQL request failed.

Pic of my console:
Image

I found a temporary workaround:

Before update I remove line with scheme in my app.config.ts and run update.

Managed or bare?

Bare

Environment

expo-env-info 2.0.8 environment info:
System:
OS: macOS 15.5
Shell: 5.2.21 - /usr/local/bin/bash
Binaries:
Node: 23.10.0 - /opt/homebrew/bin/node
Yarn: 4.11.0 - /opt/homebrew/bin/yarn
npm: 10.9.2 - /opt/homebrew/bin/npm
Watchman: 2025.03.10.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/opt/ruby/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 24.4, iOS 18.4, macOS 15.4, tvOS 18.4, visionOS 2.4, watchOS 11.4
IDEs:
Android Studio: 2024.2 AI-242.23726.103.2422.12816248
Xcode: 16.3/16E140 - /usr/bin/xcodebuild
npmPackages:
expo: ~54.0.29 => 54.0.29
expo-router: ~6.0.19 => 6.0.19
expo-updates: ~29.0.15 => 29.0.15
react: 19.1.0 => 19.1.0
react-native: 0.81.5 => 0.81.5
npmGlobalPackages:
eas-cli: 16.28.0
Expo Workflow: bare

expo-doctor:
17/17 checks passed. No issues detected!

Error output

No response

Reproducible demo or steps to reproduce from a blank project

I could not provide any code, it's a matter of config and CLI stuff. It's simple bug to reproduce... Just try to add another scheme and run eas update.

Metadata

Metadata

Assignees

Labels

needs reviewIssue is ready to be reviewed by a maintainer

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions