expo / expo/eas-cli

EAS submit cannot find Google Cloud Service Account Key from file system

Open
#2,910 3 comments 0 reactions 0 assignees View on GitHub
needs review
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.