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

In eas build process, prebuild is being skipped. #2616

Closed
yjb94 opened this issue Oct 11, 2024 · 2 comments
Closed

In eas build process, prebuild is being skipped. #2616

yjb94 opened this issue Oct 11, 2024 · 2 comments
Labels
needs review Issue is ready to be reviewed by a maintainer

Comments

@yjb94
Copy link

yjb94 commented Oct 11, 2024

Build/Submit details page URL

No response

Summary

I am running
eas build -p ios -e production, and my profile(which refers -e) is dynamic value from development to production

I have GoogleServices-Info.plist file stored in eas secret, and i have two of them. one for development and one for production.
I have app.config.js file selecting the correct google services file for my environment and this flow works well (checked in eas build log)

the problem is, I think the prebuild step should run every time when i change my environment so that the correct plist file should be mapped in ios directory. but prebuild is always being skipped because i have ios directory.

  1. I am not sure this is a proper(recommended) approach for branching google-services. if it is not recommended way, i want to know other options to branch it.
  2. what are the ways to trigger prebuild script to run whether I have ios directory or not? seems there is no way to re-prebuild.

thx

Managed or bare?

bare

Environment

expo-env-info 1.2.0 environment info:
    System:
      OS: macOS 14.6.1
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 22.6.0 - ~/.nvm/versions/node/v22.6.0/bin/node
      Yarn: 1.22.22 - ~/.nvm/versions/node/v22.6.0/bin/yarn
      npm: 10.8.2 - ~/.nvm/versions/node/v22.6.0/bin/npm
      Watchman: 2024.09.02.00 - /opt/homebrew/bin/watchman
    Managers:
      CocoaPods: 1.15.2 - /opt/homebrew/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 23.5, iOS 17.5, macOS 14.5, tvOS 17.5, visionOS 1.2, watchOS 10.5
    IDEs:
      Xcode: 15.4/15F31d - /usr/bin/xcodebuild
    npmPackages:
      expo: ~51.0.14 => 51.0.14 
      expo-router: ~3.5.21 => 3.5.23 
      react: 18.2.0 => 18.2.0 
      react-dom: 18.2.0 => 18.2.0 
      react-native: 0.74.2 => 0.74.2 
      react-native-web: ~0.19.10 => 0.19.12 
    npmGlobalPackages:
      eas-cli: 12.5.1
    Expo Workflow: bare

Error output

No response

Reproducible demo or steps to reproduce from a blank project

eas build -p ios -e production

with a prebuild run on local.

@yjb94 yjb94 added the needs review Issue is ready to be reviewed by a maintainer label Oct 11, 2024
@RobertoJoseph
Copy link

follow

@szdziedzic
Copy link
Member

the problem is, I think the prebuild step should run every time when i change my environment so that the correct plist file should be mapped in ios directory. but prebuild is always being skipped because i have ios directory.

I don't believe it's necessary, I mean if you are on the bare workflow I believe you don't need to do prebuild with app config pointing to the correct GoogleService-Info.plist every time. You need to restore your GoogleService-Info.plist secret to your ios directory vs putting it somewhere else and making prebuild do it. You can use the pre-install hook to do it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs review Issue is ready to be reviewed by a maintainer
Projects
None yet
Development

No branches or pull requests

3 participants