EAS build failed to setup credentials: Combined Error [GraphQL] Unexpected server error (Expo error ID: undefined)

Summary

I started a new project using expo init and installed some expo dependencies as well as a dependency that has native modules as I’m experimenting with expo-dev-client. I’ve been following this YouTube tutorial. However, when I run eas build --profile development --platform all, I get the following error:

Failed to setup credentials.
    CombinedError: [GraphQL] Unexpected server error (Expo error ID: 
    undefined).
    [GraphQL] Unexpected server error (Expo error ID: undefined).

I’m unsure why this is happening and how to fix it. Unfortunately, the undefined error isn’t very helpful and doesn’t provide much context.

Note: Interestingly, I was just using was build on a bar workflow project earlier today and everything seemed to work just fine.

Managed or bare?

Managed

Environment

  expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 13.1
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 18.12.1 - ~/.nvm/versions/node/v18.12.1/bin/node
      Yarn: 1.22.19 - /usr/local/bin/yarn
      npm: 8.19.2 - ~/.nvm/versions/node/v18.12.1/bin/npm
      Watchman: 2023.01.02.00 - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.11.3 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1
    IDEs:
      Android Studio: 4.1 AI-201.8743.12.41.6953283
      Xcode: 14.2/14C18 - /usr/bin/xcodebuild
    npmPackages:
      expo: ~47.0.12 => 47.0.12 
      react: 18.1.0 => 18.1.0 
      react-dom: ^18.2.0 => 18.2.0 
      react-native: 0.70.5 => 0.70.5 
      react-native-web: ^0.18.10 => 0.18.10 
    Expo Workflow: managed

Error output

🍎 iOS build
ios.infoPlist: withIntrospectionBaseMods ➜ withIosBaseMods ➜ withGeneratedBaseMods ➜ withIosInfoPlistBaseMod
» ios: mods.ios.infoPlist: Failed to find Info.plist linked to Xcode project.
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withVersion ➜ withInfoPlist
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withBuildNumber ➜ withInfoPlist
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withUsesNonExemptEncryption ➜ withInfoPlist
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withUserInterfaceStyle ➜ withInfoPlist
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withScheme ➜ withInfoPlist
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withRequiresFullScreen ➜ withInfoPlist
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withOrientation ➜ withInfoPlist
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withDisplayName ➜ withInfoPlist
ios.infoPlist: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withGoogle ➜ withInfoPlist
ios.infoPlist: withStaticPlugin ➜ withRunOnce ➜ withLocation ➜ withInfoPlist
ios.infoPlist: withStaticPlugin ➜ withRunOnce ➜ withImagePicker ➜ withInfoPlist
ios.infoPlist: withStaticPlugin ➜ withRunOnce ➜ withDevClient ➜ withGeneratedIosScheme ➜ withInfoPlist
ios.infoPlist: withStaticPlugin ➜ withRunOnce ➜ withCamera ➜ withInfoPlist
ios.infoPlist: withFacebook ➜ withStaticPlugin ➜ withRunOnce ➜ withFacebook ➜ withInfoPlist
ios.infoPlist: withBranch ➜ withStaticPlugin ➜ withRunOnce ➜ withBranch ➜ withInfoPlist
ios.infoPlist: withAdMob ➜ withStaticPlugin ➜ withRunOnce ➜ withAdMob ➜ withInfoPlist
ios.infoPlist: withStaticPlugin ➜ withRunOnce ➜ withMaps ➜ withGoogleMapsKey ➜ withInfoPlist
ios.infoPlist: withPlugins ➜ withStaticPlugin ➜ withOneSignal ➜ withOneSignalIos ➜ withRemoteNotificationsPermissions ➜ withInfoPlist
ios.infoPlist: withRnFirebaseAuth ➜ withPlugins ➜ withStaticPlugin ➜ withIosCaptchaUrlTypes ➜ withInfoPlist
ios.entitlements: withIntrospectionBaseMods ➜ withIosBaseMods ➜ withGeneratedBaseMods ➜ withIosEntitlementsBaseMod
ios.entitlements: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withAssociatedDomains ➜ withEntitlementsPlist
ios.entitlements: withExpoIOSPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withAccessesContactNotes ➜ withEntitlementsPlist
ios.entitlements: withDocumentPicker ➜ withStaticPlugin ➜ withRunOnce ➜ withICloudEntitlement ➜ withEntitlementsPlist
ios.entitlements: withNotifications ➜ withStaticPlugin ➜ withRunOnce ➜ withNotifications ➜ withNotificationsIOS ➜ withEntitlementsPlist
ios.entitlements: withAppleAuthentication ➜ withStaticPlugin ➜ withRunOnce ➜ withAppleSignInEntitlement ➜ withEntitlementsPlist
ios.entitlements: withPlugins ➜ withStaticPlugin ➜ withOneSignal ➜ withOneSignalIos ➜ withAppGroupPermissions ➜ withEntitlementsPlist
ios.entitlements: withPlugins ➜ withStaticPlugin ➜ withOneSignal ➜ withOneSignalIos ➜ withAppEnvironment ➜ withEntitlementsPlist
ios.expoPlist: withIntrospectionBaseMods ➜ withIosBaseMods ➜ withGeneratedBaseMods ➜ withIosExpoPlistBaseMod
ios.expoPlist: withUpdates ➜ withStaticPlugin ➜ withRunOnce ➜ withUpdates ➜ withUpdates ➜ withExpoPlist
✔ Using remote iOS credentials (Expo server)

If you provide your Apple account credentials we will be able to generate all necessary build credentials and fully validate them.
This is optional, but without Apple account access you will need to provide all the values manually and we can only run minimal validation on them.
✔ Do you want to log in to your Apple account? … yes

› Log in to your Apple Developer account to continue
✔ Apple ID: … [REDACTED]
› Restoring session /Users/[REDACTED]/.app-store/auth/[REDACTED]/cookie
› Team [REDACTED]
› Provider [REDACTED]
✔ Logged in Local session
✔ Bundle identifier registered com.testing.app
Current remote capabilities:
[
  {
    "context": {
      "providerId": [REDACTED],
      "teamId": "[REDACTED]"
    },
    "id": "[REDACTED]_IN_APP_PURCHASE",
    "attributes": {
      "ownerType": "BUNDLE",
      "settings": null,
      "editable": true,
      "inputs": null,
      "enabled": true,
      "responseId": [REDACTED]
    }
  },
  {
    "context": {
      "providerId": [REDACTED],
      "teamId": "[REDACTED]"
    },
    "id": "[REDACTED]_PUSH_NOTIFICATIONS",
    "attributes": {
      "ownerType": "BUNDLE",
      "settings": null,
      "editable": true,
      "inputs": null,
      "enabled": true,
      "responseId": "[REDACTED]"
    }
  },
  {
    "context": {
      "providerId": [REDACTED],
      "teamId": "[REDACTED]"
    },
    "id": "[REDACTED]",
    "attributes": {
      "ownerType": "BUNDLE",
      "settings": null,
      "editable": true,
      "inputs": null,
      "enabled": true,
      "responseId": "[REDACTED]"
    }
  }
]

Current local entitlements:
{
  "aps-environment": "development",
  "com.apple.security.application-groups": [
    "group.com.testing.app.onesignal"
  ]
}
Skipping existing capability: aps-environment (Push Notifications)
Remaining to remove:  [ '[REDACTED]_IN_APP_PURCHASE', '[REDACTED]_APP_GROUPS' ]
Skipping existing capability: com.apple.security.application-groups (App Groups)
Remaining to remove:  [ '[REDACTED]_IN_APP_PURCHASE' ]
Existing to disable:  [ '[REDACTED]_IN_APP_PURCHASE' ]
✔ Synced capabilities: No updates
Linking ID to appGroups: group.com.testing.app.onesignal ([REDACTED])
Updating bundle identifier with capability identifiers: [
  {
    capabilityType: 'APP_GROUPS',
    option: 'ON',
    relationships: { appGroups: [Array] }
  }
]
✔ Synced capability identifiers: Linked: group.com.testing.app.onesignal
Failed to setup credentials.
    CombinedError: [GraphQL] Unexpected server error (Expo error ID: 
    undefined).
    [GraphQL] Unexpected server error (Expo error ID: undefined).

Reproducible demo or steps to reproduce from a blank project

expo init testing-app
yarn add react-native-blur-hash
yarn add was-cli
yarn add expo-dev-client
eas build --profile development --platform all

Would love to know how to address this issue. Thanks in advance for any help! :slight_smile: