Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto-increment feature fails when the version does not follow the required X.X.X format on iOS #2733

Closed
kutsan opened this issue Dec 1, 2024 · 4 comments

Comments

@kutsan
Copy link

kutsan commented Dec 1, 2024

Build/Submit details page URL

No response

Summary

Auto-increment feature in EAS doesn’t work when my app version doesn’t follow the valid X.X.X format. We use semver prerelease identifiers like 3.1.0-alpha.25 for internal tests via Firebase App Distribution before releasing to production. Although Apple doesn’t allow this format, our production versions are properly tagged, such as 3.1.0. While I understand that EAS tries to validate the version number, it would be helpful to have an option to bypass this validation, allowing me to use the auto-increment feature.

I have "appVersionSource": "remote" and "autoIncrement": true set in my eas.json, and here’s the output of eas build --platform ios --profile preview --local. Also, my version in app.config.ts is 1.0.0-dev.3.

[email protected] is now available.
To upgrade, run npm install -g eas-cli.
Proceeding with outdated version.

(node:98263) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
No environment variables with visibility "Plain text" and "Sensitive" found for the "preview" environment on EAS servers.
Environment variables loaded from the "preview" build profile "env" configuration: SENTRY_AUTH_TOKEN, EXPO_PUBLIC_APP_VARIANT.

The required format for "version" field from app.json/app.config.ts is one to three period-separated integers, such as 10.14.1. The string can only contain numeric characters (0-9) and periods. Current value: 1.0.0-dev.3. Edit the "version" field in your app.json/app.config.ts to match the required format. Learn more: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring
    Error: build command failed.

Managed or bare?

Managed

Environment

  expo-env-info 1.2.1 environment info:
    System:
      OS: macOS 15.1
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 23.3.0 - /opt/homebrew/bin/node
      npm: 10.9.0 - /opt/homebrew/bin/npm
    Managers:
      CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 24.1, iOS 18.1, macOS 15.1, tvOS 18.1, visionOS 2.1, watchOS 11.1
    IDEs:
      Android Studio: 2024.1 AI-241.18034.62.2411.12071903
      Xcode: 16.1/16B40 - /usr/bin/xcodebuild
    npmPackages:
      expo: ~51.0.36 => 51.0.36 
      expo-router: ~3.5.23 => 3.5.23 
      react: 18.3.1 => 18.3.1 
      react-dom: 18.3.1 => 18.3.1 
      react-native: ~0.75.4 => 0.75.4 
    npmGlobalPackages:
      eas-cli: 13.3.0
    Expo Workflow: bare
Running 14 checks on your project...
✔ Check Expo config for common issues
✔ Check package.json for common issues
✔ Check dependencies for packages that should not be installed directly
✔ Check for common project setup issues
(node:147) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
✔ Check npm/ yarn versions
✔ Check if the project meets version requirements for submission to app stores
✔ Check for issues with metro config
✔ Check for app config fields that may not be synced in a non-CNG project
✔ Check native tooling versions
✔ Check for legacy global CLI installed locally
✔ Check that native modules do not use incompatible support packages
✖ Check that packages match versions required by installed Expo SDK
✔ Check Expo config (app.json/ app.config.js) schema
✔ Check that native modules use compatible support package versions for installed Expo SDK

Detailed check results:

(node:393) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
The following packages should be updated for best compatibility with the installed expo version:
  @sentry/[email protected] - expected version: ~5.24.3
  [email protected] - expected version: ~51.0.39
  [email protected] - expected version: ~4.0.29
  [email protected] - expected version: ~0.28.19
  [email protected] - expected version: ~3.5.24
  [email protected] - expected version: ~0.27.7
  [email protected] - expected version: 4.10.5
  [email protected] - expected version: 15.2.0
  @types/[email protected] - expected version: ~18.2.79
  [email protected] - expected version: ~5.3.3
Your project may not work correctly until you install the expected versions of the packages.
Found outdated dependencies
Advice: Use 'npx expo install --check' to review and upgrade your dependencies.

One or more checks failed, indicating possible issues with the project.

Error output

No response

Reproducible demo or steps to reproduce from a blank project

  1. Add "appVersionSource": "remote" and "autoIncrement": true to eas.json.
  2. Set your version to 1.0.0-dev.3 in app.config.ts.
  3. Run eas build command with iOS platform.
@kutsan kutsan added the needs review Issue is ready to be reviewed by a maintainer label Dec 1, 2024
@helrouis
Copy link

helrouis commented Dec 5, 2024

it would also greatly help me as I use 1.0.x-alpha or beta for internal and beta testers.

@szdziedzic
Copy link
Member

What do you think? #2741

@szdziedzic szdziedzic added eas build and removed needs review Issue is ready to be reviewed by a maintainer labels Dec 5, 2024
@kutsan
Copy link
Author

kutsan commented Dec 5, 2024

Thanks a lot! A warning works for us.

@szdziedzic
Copy link
Member

Should be fixed in 14.0.2 that is being released at the moment. Feel free to reopen if I didn't get this right and sth doesn't work for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants