EAS submit cannot find Google Cloud Service Account Key from file system
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 236
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 91
Description
### Build/Submit details page URL
_No response_
### Summary
Run `eas submit --platform android --latest` without having a key configured; when prompted to enter the path to the JSON, enter a correct path, and notice that the CLI cannot find the file even if the file is directly in the app folder.
### Managed or bare?
Managed
### Environment
```
npx expo-env-info
expo-env-info 1.2.2 environment info:
System:
OS: macOS 15.3
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.19.1 - ~/.nvm/versions/node/v18.19.1/bin/node
Yarn: 1.22.22 - /opt/homebrew/bin/yarn
npm: 10.9.1 - ~/.nvm/versions/node/v18.19.1/bin/npm
Watchman: 2025.02.10.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 24.2, iOS 18.2, macOS 15.2, tvOS 18.2, visionOS 2.2, watchOS 11.2
IDEs:
Android Studio: 2024.2 AI-242.23726.103.2422.13016713
Xcode: 16.2/16C5032a - /usr/bin/xcodebuild
npmPackages:
@expo/metro-config: ~0.19.0 => 0.19.10
expo: ~52.0.35 => 52.0.35
expo-router: ~4.0.17 => 4.0.17
react: 18.3.1 => 18.3.1
react-dom: 18.3.1 => 18.3.1
react-native: 0.76.7 => 0.76.7
react-native-web: ~0.19.10 => 0.19.13
npmGlobalPackages:
eas-cli: 15.0.10
Expo Workflow: bare
```
```
npx expo-doctor
13/15 checks passed. 2 checks failed. Possible issues detected:
Use the --verbose flag to see more details about passed checks.
✖ [Check that native modules use compatible support package versions for installed Expo SDK]
Expected package metro@^0.81.0
Found invalid:
metro@0.80.12
(for more info, run: npm why metro)
Expected package metro-resolver@^0.81.0
Found invalid:
metro-resolver@0.80.12
(for more info, run: npm why metro-resolver)
Expected package metro-config@^0.81.0
Found invalid:
metro-config@0.80.12
(for more info, run: npm why metro-config)
Advice: Upgrade dependencies that are using the invalid package versions.
✖ [Validate packages against React Native Directory package metadata]
The following issues were found when validating your dependencies against React Native Directory:
Unsupported on New Architecture: react-native-fast-image
Untested on New Architecture: react-native-branch, react-native-chart-kit
Unmaintained: react-native-chart-kit, react-native-fast-image
No metadata available: @config-plugins/react-native-branch, @ethersproject/shims, @expo/metro-config, @isaacs/ttlcache, @privy-io/expo, @react-native/metro-config, @solana/spl-token, @solana/web3.js, bignumber.js, bs58, buffer, d3-array, d3-interpolate-path, d3-scale, d3-shape, eslint, eslint-config-expo, expo-shimmer-placeholder, fast-text-encoding, immutable, lodash, luxon, patch-package, prettier-plugin-tailwindcss, prop-types, react-native-passkeys, react-native-reorderable-list, react-native-uuid, ts-node, viem
Advice:
- Use libraries that are actively maintained and support the New Architecture. Find alternative libraries with https://reactnative.directory.
- Add packages to expo.doctor.reactNativeDirectoryCheck.exclude in package.json to selectively skip validations, if the warning is not relevant.
- Update React Native Directory to include metadata for unknown packages. Alternatively, set expo.doctor.reactNativeDirectoryCheck.listUnknownPackages in package.json to false to skip warnings about packages with no metadata, if the warning is not relevant.
2 checks failed, indicating possible issues with the project.
````
### Error output
```
eas submit --platform android --latest
Looking up credentials configuration for my.app...
A Google Service Account JSON key is required for uploading your app to Google Play Store, and for sending Android Notifications via FCM V1..
If you're not sure what this is or how to create one, learn more: https://expo.fyi/creating-google-service-account
✖ Path to Google Service Account file: … api-0000000000000000000-111111-aaaaaabbbbbb.json
```
### Reproducible demo or steps to reproduce from a blank project
Create a new project, build, and try to submit without configuring key online.
```
eas submit --platform android --latest
Looking up credentials configuration for my.app...
A Google Service Account JSON key is required for uploading your app to Google Play Store, and for sending Android Notifications via FCM V1..
If you're not sure what this is or how to create one, learn more: https://expo.fyi/creating-google-service-account
✖ Path to Google Service Account file: … api-0000000000000000000-111111-aaaaaabbbbbb.json
```
Contributor guide
Assessment
This issue has not been assessed yet.