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

Always generating different fingerprints for my builds, also not showing the fingerprint diff #2448

Open
giorgiofellipe opened this issue Jul 4, 2024 · 9 comments

Comments

@giorgiofellipe
Copy link

giorgiofellipe commented Jul 4, 2024

Build/Submit details page URL

No response

Summary

I have configured my Expo app to use fingerprint as runtime policy but I'm unable to use EAS Updates because it always generate the build with a different fingerprint
Even running locally using eas-cli v10.1.0 it's generating new fingerprint every build.
Also, I don't see the diff on logs (added on expo/expo#2422).

Managed or bare?

Managed

Environment

expo-env-info 1.2.0 environment info:
System:
OS: macOS 13.5.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 22.2.0 - /opt/homebrew/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.7.0 - /opt/homebrew/bin/npm
Managers:
CocoaPods: 1.15.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, visionOS 1.0, watchOS 10.2
Android SDK:
API Levels: 26, 29, 30, 31, 32, 33, 34
Build Tools: 29.0.2, 29.0.3, 30.0.2, 30.0.3, 31.0.0, 32.0.0, 33.0.0, 33.0.1, 33.0.2, 34.0.0
System Images: android-30 | Google APIs ARM 64 v8a, android-33 | Google APIs ARM 64 v8a, android-33 | Google Play ARM 64 v8a, android-34 | Google APIs ARM 64 v8a
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.10671973
Xcode: 15.2/15C500b - /usr/bin/xcodebuild
npmPackages:
expo: ~51.0.18 => 51.0.18
expo-router: ~3.5.17 => 3.5.17
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.74.3 => 0.74.3
react-native-web: ~0.19.10 => 0.19.12
npmGlobalPackages:
eas-cli: 10.1.0
Expo Workflow: managed

✔ Check Expo config for common issues
✔ Check package.json for common issues
✔ Check native tooling versions
✔ Check dependencies for packages that should not be installed directly
✔ Check for common project setup issues
✔ Check for issues with metro config
✔ Check npm/ yarn versions
✔ Check Expo config (app.json/ app.config.js) schema
✔ 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 that native modules use compatible support package versions for installed Expo SDK

Didn't find any issues with the project!

Error output

[CONFIGURE_EXPO_UPDATES] Runtime version from the app config evaluated on your local machine (5b9cea733cdb7a2a2a4e25163b2b6f0a8b15923b) does not match the one resolved here (047be799fde8148e8f809697fd6200c3112a2c1f).
[CONFIGURE_EXPO_UPDATES] If you're using conditional app configs, e.g. depending on an environment variable, make sure to set the variable in eas.json or configure it with EAS Secret.

Reproducible demo or steps to reproduce from a blank project

https://github.com/giorgiofellipe/fingerprint-issue-reproducible

Run eas build --profile simulator --platform ios --non-interactive --local and you'll always see the message [CONFIGURE_EXPO_UPDATES] Runtime version from the app config evaluated on your local machine (X) does not match the one resolved here (Y)., where Y is different on every run.

@giorgiofellipe giorgiofellipe added the needs review Issue is ready to be reviewed by a maintainer label Jul 4, 2024
@szdziedzic
Copy link
Member

Also, I don't see the diff on logs (added on #2422).

It seems to be a mistake on our end because the local build plugin wasn't bumped when releasing #2422 so diffs weren't shown for local builds in 10.1.0. I bumped it and just released 10.1.1 so it should be fixed in this version.

Let's see if diff logs can help here.

@giorgiofellipe
Copy link
Author

giorgiofellipe commented Jul 4, 2024

@szdziedzic
Ok, now I see it generating a consistent hash on every run.

But I still see a mismatch, here is the diff:

[CONFIGURE_EXPO_UPDATES] Runtime version mismatch
[CONFIGURE_EXPO_UPDATES] Runtime version on your local machine: 441454b361d9ac0cae405a637d0f26bb320b18a5
[CONFIGURE_EXPO_UPDATES] Runtime version calculated on EAS: 8ab52d3a46a5b23560e594ed3fca27053a51c1c8
[CONFIGURE_EXPO_UPDATES] Difference between local and EAS fingerprints:
[CONFIGURE_EXPO_UPDATES] [
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "ios",
   "reasons": [
    "bareNativeDir"
   ],
   "hash": null
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "contents",
   "id": "packageJson:scripts",
   "contents": {
    "start": "expo start",
    "reset-project": "node ./scripts/reset-project.js",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "test": "jest --watchAll",
    "lint": "expo lint"
   },
   "reasons": [
    "packageJson:scripts"
   ],
   "hash": "b7dc37dfd93bfd47ef5d827587ed32f8fa796932"
  }
 }
]

P.S.: I can confirm after replacing my scripts by the content above it has been fixed on the demo repository.
Should scripts section of package.json be ignored by fingerprint?

@giorgiofellipe
Copy link
Author

However, I still see a lot of diffs on my main project (which is in a Turbo monorepo and using pnpm).

[CONFIGURE_EXPO_UPDATES] Runtime version mismatch
[CONFIGURE_EXPO_UPDATES] Runtime version on your local machine: 92f73ae9ab9a4ae9cffb56bdb9d9d6cf6eb3418a
[CONFIGURE_EXPO_UPDATES] Runtime version calculated on EAS: 1bfe1f3b4df2a2900baa63dab0e8ae9059772f2c
[CONFIGURE_EXPO_UPDATES] Difference between local and EAS fingerprints:
[CONFIGURE_EXPO_UPDATES] [
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-launcher",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "30e6bef6aca813b3ac79facfc31c0e9ee8d80149"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-menu",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "0bb6fe06a492af6752d95e4f7237a06ca7845c38"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected]_@[email protected]/node_modules/expo",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "9e0d4587c887ca968fd8db1a3331483727f9a71e"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "ios",
   "reasons": [
    "bareNativeDir"
   ],
   "hash": null
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/@react-native-async-storage/async-storage",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "b81e26351885b69d10a2d03be3b9fbdb8a4a8802"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/@sentry/react-native",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "b1a175225d96faf64eeb4f78e94e484e60a0db91"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/expo",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "1eb3236b60458f87f899103a25c6e3bb7183487a"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-clarity",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "5f629126158efc21c662cb36de265c6735ef7c06"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-gesture-handler",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "7bde148b0c39f40f11e71b347d8bec798e9151da"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-reanimated",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "053298906628de8e99408874d493894e4b6782c8"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-safe-area-context",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "dc9e723fea6fd25207fe4bb2c03b235ed0eba37a"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-screens",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "be06c525ee1f1c57216f2f63bf491a71b2792b4f"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-svg",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "deec6c89a6749857351383ad8f93956ecd33e216"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-webview",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "12e0e344f6e466321e025e23df0a9cf3387cdf37"
  }
 }
]

@kadikraman
Copy link
Contributor

kadikraman commented Jul 9, 2024

@szdziedzic Ok, now I see it generating a consistent hash on every run.

But I still see a mismatch, here is the diff:

[CONFIGURE_EXPO_UPDATES] Runtime version mismatch
[CONFIGURE_EXPO_UPDATES] Runtime version on your local machine: 441454b361d9ac0cae405a637d0f26bb320b18a5
[CONFIGURE_EXPO_UPDATES] Runtime version calculated on EAS: 8ab52d3a46a5b23560e594ed3fca27053a51c1c8
[CONFIGURE_EXPO_UPDATES] Difference between local and EAS fingerprints:
[CONFIGURE_EXPO_UPDATES] [
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "ios",
   "reasons": [
    "bareNativeDir"
   ],
   "hash": null
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "contents",
   "id": "packageJson:scripts",
   "contents": {
    "start": "expo start",
    "reset-project": "node ./scripts/reset-project.js",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "test": "jest --watchAll",
    "lint": "expo lint"
   },
   "reasons": [
    "packageJson:scripts"
   ],
   "hash": "b7dc37dfd93bfd47ef5d827587ed32f8fa796932"
  }
 }
]

P.S.: I can confirm after replacing my scripts by the content above it has been fixed on the demo repository. Should scripts section of package.json be ignored by fingerprint?

@giorgiofellipe there should have been a fix for this recently, publihsed in [email protected] - could you try upgrading to 0.10.0 if you're on a lower version currently?

@giorgiofellipe
Copy link
Author

giorgiofellipe commented Jul 9, 2024

@kadikraman I'm using this very version actually.
"@expo/fingerprint": "^0.10.0",

Kudo added a commit to expo/expo that referenced this issue Jul 11, 2024
…fNotContainRun (#30344)

# Why

the `SourceSkips.PackageJsonAndroidAndIosScriptsIfNotContainRun` does
not actually work.
fixes expo/eas-cli#2448

# How

- fix broken updates e2e test. this was because we have
`require(/path/to/app/package.json)` that will be cached from jest
tests. this pr uses `jest.resetModules()` to prevent the cache.
- fix broken
`SourceSkips.PackageJsonAndroidAndIosScriptsIfNotContainRun`. after
prebuild, the script would be `expo run:android` or `expo run:ios`, we
should also strip the script to make the source consistent before and
after prebuild.

(cherry picked from commit 6af77cf)
@Kudo
Copy link

Kudo commented Jul 11, 2024

expo/expo#30344 should fix the issue of the demo repo.
for turborepo and pnpm, it looks like a different issue. would you mind to share a repro for turborepo/pnpm setup?

@Kudo Kudo reopened this Jul 11, 2024
@Kudo Kudo self-assigned this Jul 11, 2024
@szdziedzic szdziedzic added eas build needs more info and removed needs review Issue is ready to be reviewed by a maintainer labels Jul 15, 2024
@giorgiofellipe
Copy link
Author

giorgiofellipe commented Jul 15, 2024

@Kudo

Repository: https://github.com/giorgiofellipe/monorepo-expo-issue

Expo env info:

  expo-env-info 1.2.0 environment info:
    System:
      OS: macOS 13.5.1
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 22.2.0 - /opt/homebrew/bin/node
      Yarn: 1.22.19 - /usr/local/bin/yarn
      npm: 10.7.0 - /opt/homebrew/bin/npm
    Managers:
      CocoaPods: 1.15.2 - /opt/homebrew/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, visionOS 1.0, watchOS 10.2
      Android SDK:
        API Levels: 26, 29, 30, 31, 32, 33, 34
        Build Tools: 29.0.2, 29.0.3, 30.0.2, 30.0.3, 31.0.0, 32.0.0, 33.0.0, 33.0.1, 33.0.2, 34.0.0
        System Images: android-30 | Google APIs ARM 64 v8a, android-33 | Google APIs ARM 64 v8a, android-33 | Google Play ARM 64 v8a, android-34 | Google APIs ARM 64 v8a
    IDEs:
      Android Studio: 2022.3 AI-223.8836.35.2231.10671973
      Xcode: 15.2/15C500b - /usr/bin/xcodebuild
    npmGlobalPackages:
      eas-cli: 10.1.1
    Expo Workflow: managed

A curious thing is that when I run pnpm dlx expo-doctor it says it is everything alright, when I run eas build I have this:

[RUN_EXPO_DOCTOR] Running 12 checks on your project...
[RUN_EXPO_DOCTOR] ✔ Check Expo config for common issues
[RUN_EXPO_DOCTOR] ✔ Check package.json for common issues
[RUN_EXPO_DOCTOR] ✔ Check native tooling versions
[RUN_EXPO_DOCTOR] ✔ Check dependencies for packages that should not be installed directly
[RUN_EXPO_DOCTOR] ✔ Check for common project setup issues
[RUN_EXPO_DOCTOR] ✖ Check for issues with metro config
[RUN_EXPO_DOCTOR] Unexpected error while running 'Check for issues with metro config' check:
[RUN_EXPO_DOCTOR] Error: The required package `expo-asset` cannot be found
[RUN_EXPO_DOCTOR] ✔ Check npm/ yarn versions
[RUN_EXPO_DOCTOR] ✔ Check that packages match versions required by installed Expo SDK
[RUN_EXPO_DOCTOR] ✔ Check Expo config (app.json/ app.config.js) schema
[RUN_EXPO_DOCTOR] ✔ Check for legacy global CLI installed locally
[RUN_EXPO_DOCTOR] ✔ Check that native modules do not use incompatible support packages
[RUN_EXPO_DOCTOR] ✔ Check that native modules use compatible support package versions for installed Expo SDK
[RUN_EXPO_DOCTOR] One or more checks failed, indicating possible issues with the project.
And this is the fingerprint diff
[CALCULATE_EXPO_UPDATES_RUNTIME_VERSION] Resolved runtime version: 89785d9baef3baf7e2992d98dea9c1f2092f75a1
[CONFIGURE_EXPO_UPDATES] Runtime version mismatch
[CONFIGURE_EXPO_UPDATES] Runtime version on your local machine: 539a830cd2fd35c3238d0e5dd4a87430454c3a65
[CONFIGURE_EXPO_UPDATES] Runtime version calculated on EAS: 89785d9baef3baf7e2992d98dea9c1f2092f75a1
[CONFIGURE_EXPO_UPDATES] Difference between local and EAS fingerprints:
[CONFIGURE_EXPO_UPDATES] [
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-asset/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "756f394829fb8b0ff75a20763a8e9a5da2ffea2f"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-constants/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "6a3a95934e22c4676f2ee007ef0aacdd073eb9b3"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-launcher",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "0362c4cd189e0814706db4ca3cddd307e885b209"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-menu-interface/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "b9e6adf27b5128bf03d6b76cddc8c2e6019433fd"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-menu",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "720ec94bf63ebbaca94f9cc730ec9789aa54ad0c"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected]/node_modules/expo-eas-client/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "40f2e516a90a50f78be533b62287b5f4e8171cd8"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-file-system/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "57d7a12111679e3317a5fae30b05c4c944844bb1"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected]/node_modules/expo-json-utils/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "f0b3859dfa92f76b4ae856f101c31176b8d5a60f"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-keep-awake/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "a2ebf063e0c9c1ee564ad214f67fd62075e12db8"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-manifests/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "268130aa4e9a98a3822bc02cc538d58528c96c3a"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected]/node_modules/expo-modules-core",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "a282a678949ebbdf5e468c84cf61329ade861917"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected]/node_modules/expo-structured-headers/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "ba9c7b83f2bced7130ddf3e3a3f72b529b6d149c"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-updates-interface/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "3818ad0f53c0bee17d0d076722524f19ff314b7e"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]/node_modules/expo",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "f9fd716d00b4f22fee1eebe901af5df1070dc415"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-asset/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "dd569c2f6c1e14b28de02e124eea8cace877c82e"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-constants/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "514c13c5d34eb2e18b41d4b82337e230cdd56072"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-dev-launcher",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "6bb800509c89a7f6c5313b2dadc217adcd4dc8eb"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-dev-menu",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "c6be7c52734d3b5045781b9733cb88665c9340de"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-dev-menu-interface/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "824a10886530987de4c15fa1e0bdd4cc75809200"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-eas-client/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "beed20fc5e294606972857255223a06f04c91a02"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-file-system/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "583e5ac8ff0530ae7d33b8ad3ac6ba330e586fd0"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-json-utils/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "578480051f6e3b527d3cbc588664eba41af9286b"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-keep-awake/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "4a5c6b566c8e1c151ddd36e0d7a18f875d13a32a"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-manifests/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "c22abf659f6eb5bb783d93a885004eba3f78499c"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-modules-core",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "4a0fefff2be55ec5ae093c6646cf5797103ea8fe"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-structured-headers/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "007cc3f76762e0890e4c79584ef1ac3b39a8d4a1"
  }
 },
 {
  "op": "removed",
  "source": {
   "type": "dir",
   "filePath": "../../node_modules/expo-updates-interface/ios",
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "6ef018455e39bc5eadcf6834c034e90f4fc87887"
  }
 },
 {
  "op": "added",
  "source": {
   "type": "dir",
   "filePath": "ios",
   "reasons": [
    "bareNativeDir"
   ],
   "hash": null
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/@sentry/react-native",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "99bb51630ed694eeccef9dbe8600bc5c9f439542"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/expo",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "d0454eee12f4daa1c593975fa9cf1ad56a159bcf"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-reanimated",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "9fe1dda60814df50304568ef4aee9dd38c421967"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-safe-area-context",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "35781c2236b445468f34d39b3b4e08710e4c5711"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "dir",
   "filePath": "node_modules/react-native-screens",
   "reasons": [
    "bareRncliAutolinking"
   ],
   "hash": "624c93e0feaad82e8bb975b3a545b8f7eaa748a1"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "contents",
   "id": "expoAutolinkingConfig:ios",
   "contents": {
    "extraDependencies": [],
    "modules": [
     {
      "packageName": "expo",
      "packageVersion": "51.0.20",
      "pods": [
       {
        "podName": "Expo",
        "podspecDir": "../../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]/node_modules/expo"
       }
      ],
      "swiftModuleNames": [
       "Expo"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-asset",
      "packageVersion": "10.0.10",
      "pods": [
       {
        "podName": "ExpoAsset",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-asset/ios"
       }
      ],
      "swiftModuleNames": [
       "ExpoAsset"
      ],
      "modules": [
       "AssetModule"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-constants",
      "packageVersion": "16.0.2",
      "pods": [
       {
        "podName": "EXConstants",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-constants/ios"
       }
      ],
      "swiftModuleNames": [
       "EXConstants"
      ],
      "modules": [
       "ConstantsModule"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-dev-client",
      "packageVersion": "4.0.20",
      "pods": [
       {
        "podName": "expo-dev-client",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-client/ios"
       }
      ],
      "swiftModuleNames": [
       "expo_dev_client"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-dev-launcher",
      "packageVersion": "4.0.22",
      "pods": [
       {
        "podName": "expo-dev-launcher",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-launcher"
       }
      ],
      "swiftModuleNames": [
       "EXDevLauncher"
      ],
      "modules": [
       "DevLauncherInternal",
       "DevLauncherAuth",
       "RNCSafeAreaProviderManager"
      ],
      "appDelegateSubscribers": [
       "ExpoDevLauncherAppDelegateSubscriber"
      ],
      "reactDelegateHandlers": [
       "ExpoDevLauncherReactDelegateHandler"
      ],
      "debugOnly": true
     },
     {
      "packageName": "expo-dev-menu",
      "packageVersion": "5.0.16",
      "pods": [
       {
        "podName": "expo-dev-menu",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-menu"
       }
      ],
      "swiftModuleNames": [
       "EXDevMenu"
      ],
      "modules": [
       "DevMenuModule",
       "DevMenuInternalModule",
       "DevMenuPreferences",
       "RNCSafeAreaProviderManager"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [
       "ExpoDevMenuReactDelegateHandler"
      ],
      "debugOnly": true
     },
     {
      "packageName": "expo-dev-menu-interface",
      "packageVersion": "1.8.3",
      "pods": [
       {
        "podName": "expo-dev-menu-interface",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-dev-menu-interface/ios"
       }
      ],
      "swiftModuleNames": [
       "expo_dev_menu_interface"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-eas-client",
      "packageVersion": "0.12.0",
      "pods": [
       {
        "podName": "EASClient",
        "podspecDir": "../../node_modules/.pnpm/[email protected]/node_modules/expo-eas-client/ios"
       }
      ],
      "swiftModuleNames": [
       "EASClient"
      ],
      "modules": [
       "EASClientModule"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-file-system",
      "packageVersion": "17.0.1",
      "pods": [
       {
        "podName": "ExpoFileSystem",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-file-system/ios"
       }
      ],
      "swiftModuleNames": [
       "ExpoFileSystem"
      ],
      "modules": [
       "FileSystemModule"
      ],
      "appDelegateSubscribers": [
       "FileSystemBackgroundSessionHandler"
      ],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-font",
      "packageVersion": "12.0.8",
      "pods": [
       {
        "podName": "ExpoFont",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-font/ios"
       }
      ],
      "swiftModuleNames": [
       "ExpoFont"
      ],
      "modules": [
       "FontLoaderModule"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-json-utils",
      "packageVersion": "0.13.1",
      "pods": [
       {
        "podName": "EXJSONUtils",
        "podspecDir": "../../node_modules/.pnpm/[email protected]/node_modules/expo-json-utils/ios"
       }
      ],
      "swiftModuleNames": [
       "EXJSONUtils"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-keep-awake",
      "packageVersion": "13.0.2",
      "pods": [
       {
        "podName": "ExpoKeepAwake",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-keep-awake/ios"
       }
      ],
      "swiftModuleNames": [
       "ExpoKeepAwake"
      ],
      "modules": [
       "KeepAwakeModule"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-manifests",
      "packageVersion": "0.14.3",
      "pods": [
       {
        "podName": "EXManifests",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-manifests/ios"
       }
      ],
      "swiftModuleNames": [
       "EXManifests"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-modules-core",
      "packageVersion": "1.12.19",
      "pods": [
       {
        "podName": "ExpoModulesCore",
        "podspecDir": "../../node_modules/.pnpm/[email protected]/node_modules/expo-modules-core"
       }
      ],
      "swiftModuleNames": [
       "ExpoModulesCore"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-router",
      "packageVersion": "3.5.18",
      "pods": [
       {
        "podName": "ExpoHead",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected][email protected][email protected]_e_mfar2myqyigv4jprqrmzo7ewna/node_modules/expo-router/ios"
       }
      ],
      "swiftModuleNames": [
       "ExpoHead"
      ],
      "modules": [
       "ExpoHeadModule"
      ],
      "appDelegateSubscribers": [
       "ExpoHeadAppDelegateSubscriber"
      ],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-splash-screen",
      "packageVersion": "0.27.5",
      "pods": [
       {
        "podName": "EXSplashScreen",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/expo-splash-screen/ios"
       }
      ],
      "swiftModuleNames": [
       "EXSplashScreen"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-structured-headers",
      "packageVersion": "3.8.0",
      "pods": [
       {
        "podName": "EXStructuredHeaders",
        "podspecDir": "../../node_modules/.pnpm/[email protected]/node_modules/expo-structured-headers/ios"
       }
      ],
      "swiftModuleNames": [
       "EXStructuredHeaders"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-system-ui",
      "packageVersion": "3.0.7",
      "pods": [
       {
        "podName": "ExpoSystemUI",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-system-ui/ios"
       }
      ],
      "swiftModuleNames": [
       "ExpoSystemUI"
      ],
      "modules": [
       "ExpoSystemUIModule"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-updates",
      "packageVersion": "0.25.19",
      "pods": [
       {
        "podName": "EXUpdates",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-updates/ios"
       }
      ],
      "swiftModuleNames": [
       "EXUpdates"
      ],
      "modules": [
       "UpdatesModule"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [
       "ExpoUpdatesReactDelegateHandler"
      ],
      "debugOnly": false
     },
     {
      "packageName": "expo-updates-interface",
      "packageVersion": "0.16.2",
      "pods": [
       {
        "podName": "EXUpdatesInterface",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-updates-interface/ios"
       }
      ],
      "swiftModuleNames": [
       "EXUpdatesInterface"
      ],
      "modules": [],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     },
     {
      "packageName": "expo-web-browser",
      "packageVersion": "13.0.3",
      "pods": [
       {
        "podName": "ExpoWebBrowser",
        "podspecDir": "../../node_modules/.pnpm/[email protected][email protected]/node_modules/expo-web-browser/ios"
       }
      ],
      "swiftModuleNames": [
       "ExpoWebBrowser"
      ],
      "modules": [
       "WebBrowserModule"
      ],
      "appDelegateSubscribers": [],
      "reactDelegateHandlers": [],
      "debugOnly": false
     }
    ]
   },
   "reasons": [
    "expoAutolinkingIos",
    "expoConfigPlugins",
    "expoConfigPlugins"
   ],
   "hash": "b82b14429d37ff39df01691be12502bccf44101d"
  }
 },
 {
  "op": "changed",
  "source": {
   "type": "contents",
   "id": "packageJson:scripts",
   "contents": {
    "start": "expo start",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "test": "jest --watchAll"
   },
   "reasons": [
    "packageJson:scripts"
   ],
   "hash": "e854bcb273ca3a564954d7538cdc380bf3d7ddfb"
  }
 }
]

alanjhughes pushed a commit to expo/expo that referenced this issue Jul 17, 2024
…fNotContainRun (#30344)

# Why

the `SourceSkips.PackageJsonAndroidAndIosScriptsIfNotContainRun` does
not actually work.
fixes expo/eas-cli#2448

# How

- fix broken updates e2e test. this was because we have
`require(/path/to/app/package.json)` that will be cached from jest
tests. this pr uses `jest.resetModules()` to prevent the cache.
- fix broken
`SourceSkips.PackageJsonAndroidAndIosScriptsIfNotContainRun`. after
prebuild, the script would be `expo run:android` or `expo run:ios`, we
should also strip the script to make the source consistent before and
after prebuild.
@tfcornerstone
Copy link

Does eas update generate runtime versions again, it doesn't have a --profile options, assuming the environment variable diff can cause issues? Potentially related #2484

@kasvith
Copy link

kasvith commented Oct 15, 2024

The problem is eas update doesnt even use the env vars as usual, its loading them from eas.json
there is no proper way for us to generate the same fingerprint version for builds on expo in our CI envs

this is so frustrating and affecting our workflows

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

6 participants