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

EAS Update not updating app #2080

Open
MarcHbb opened this issue Oct 6, 2023 · 5 comments
Open

EAS Update not updating app #2080

MarcHbb opened this issue Oct 6, 2023 · 5 comments
Labels
eas update needs review Issue is ready to be reviewed by a maintainer

Comments

@MarcHbb
Copy link

MarcHbb commented Oct 6, 2023

Build/Submit details page URL

https://expo.dev/accounts/marc-hbb/projects/checkit-app/deployments/production/exposdk%3A48.0.0

Summary

I can't find why my update is not working. I have no errors, have the same sdk runtime version, and same channel between the build and the update.

Managed or bare?

Managed

Environment

expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 13.0.1
      Shell: 5.8.1 - /bin/zsh
    Binaries:
      Node: 16.20.1 - ~/.nvm/versions/node/v16.20.1/bin/node
      Yarn: 1.22.17 - /opt/homebrew/bin/yarn
      npm: 8.19.4 - ~/.nvm/versions/node/v16.20.1/bin/npm
    Managers:
      CocoaPods: 1.12.1 - /opt/homebrew/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 22.1, iOS 16.1, macOS 13.0, tvOS 16.1, watchOS 9.1
      Android SDK:
        API Levels: 31
        Build Tools: 31.0.0
        System Images: android-29 | Google Play ARM 64 v8a, android-31 | Google APIs ARM 64 v8a
    IDEs:
      Xcode: 14.1/14B47b - /usr/bin/xcodebuild
    npmPackages:
      expo: ^48.0.0 => 48.0.20 
      react: 18.2.0 => 18.2.0 
      react-native: 0.71.8 => 0.71.8 
    npmGlobalPackages:
      eas-cli: 3.16.0
      expo-cli: 6.3.10
    Expo Workflow: managed

Error output

No response

Reproducible demo or steps to reproduce from a blank project

Using APP_ENV=production eas update --branch production to update my production build, no update happen. There's no new native code. Even tried to update a single "." not working.

Capture d’écran 2023-10-06 à 15 59 16

Last update :
Capture d’écran 2023-10-06 à 15 58 38

Last production build :
Capture d’écran 2023-10-06 à 15 58 25

Expo.plist from the build :

Capture d’écran 2023-10-06 à 16 38 53

Everything seems good, please help

package.json :

  "name": "APP_NAME",
  "version": "2.3.7",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start --clear",
    "dev": "APP_ENV=development npx expo start --dev-client",
    "build:dev": "APP_ENV=development eas build --profile development --clear-cache",
    "build:dev-s": "APP_ENV=development eas build --profile dev-simulator --clear-cache",
    "build:staging-s": "APP_ENV=staging eas build --profile staging-simulator",
    "build:staging": "APP_ENV=staging eas build --profile staging",
    "update:staging": "APP_ENV=staging eas update --branch staging",
    "build:prod": "APP_ENV=production eas build --profile production",
    "build:prod-s": "APP_ENV=production eas build --profile simulator-prod",
    "build:preprod": "APP_ENV=production eas build --profile preprod",
    "update:preprod": "APP_ENV=production eas update --branch preprod",
    "update:prod": "APP_ENV=production eas update --branch production",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "postinstall": "patch-package"
  },
  "dependencies": {
    "@expo/react-native-action-sheet": "^3.14.0",
    "@react-native-async-storage/async-storage": "1.17.11",
    "@react-native-community/datetimepicker": "6.7.3",
    "@react-native-community/geolocation": "^3.0.6",
    "@react-native-community/masked-view": "^0.1.11",
    "@react-native-firebase/analytics": "^15.7.0",
    "@react-native-firebase/app": "15.7.0",
    "@react-navigation/bottom-tabs": "^6.4.0",
    "@react-navigation/material-bottom-tabs": "^6.2.4",
    "@react-navigation/material-top-tabs": "^6.3.0",
    "@react-navigation/native": "^6.0.13",
    "@react-navigation/native-stack": "^6.9.1",
    "@react-navigation/stack": "^6.3.2",
    "@reduxjs/toolkit": "^1.8.6",
    "@sentry/react-native": "4.13.0",
    "@shopify/react-native-skia": "^0.1.209",
    "axios": "^1.1.3",
    "country-codes-list": "^1.6.10",
    "deprecated-react-native-prop-types": "^4.0.0",
    "expo": "^48.0.0",
    "expo-application": "~5.1.1",
    "expo-build-properties": "~0.6.0",
    "expo-calendar": "~11.1.1",
    "expo-clipboard": "~4.1.2",
    "expo-constants": "~14.2.1",
    "expo-dev-client": "~2.2.1",
    "expo-device": "~5.2.1",
    "expo-haptics": "~12.2.1",
    "expo-image": "~1.0.1",
    "expo-image-picker": "~14.1.1",
    "expo-intent-launcher": "~10.5.2",
    "expo-linear-gradient": "~12.1.2",
    "expo-linking": "~4.0.1",
    "expo-localization": "~14.1.1",
    "expo-location": "~15.1.1",
    "expo-notifications": "~0.18.1",
    "expo-splash-screen": "~0.18.2",
    "expo-status-bar": "~1.4.2",
    "expo-updates": "~0.16.4",
    "formik": "^2.2.9",
    "i18next": "^22.5.0",
    "imagekit-javascript": "1.3.7",
    "lottie-react-native": "5.1.4",
    "moment": "^2.29.4",
    "moti": "^0.25.3",
    "patch-package": "^6.5.1",
    "react": "18.2.0",
    "react-i18next": "^11.18.6",
    "react-native": "0.71.8",
    "react-native-actions-sheet": "^0.8.8",
    "react-native-bouncy-checkbox": "^3.0.6",
    "react-native-calendars": "1.1248.0",
    "react-native-collapsible-tab-view": "^5.0.0-rc.13",
    "react-native-geocoding": "^0.5.0",
    "react-native-gesture-handler": "~2.9.0",
    "react-native-google-places-autocomplete": "^2.4.1",
    "react-native-hyperlink": "^0.0.22",
    "react-native-map-clustering": "^3.4.2",
    "react-native-map-link": "^2.10.2",
    "react-native-maps": "1.3.2",
    "react-native-modal": "^13.0.1",
    "react-native-pager-view": "6.1.2",
    "react-native-paper": "4.9.2",
    "react-native-reanimated": "^3.0.0-rc.10",
    "react-native-safe-area-context": "4.5.0",
    "react-native-screens": "~3.20.0",
    "react-native-section-list-get-item-layout": "^2.2.3",
    "react-native-share": "^8.1.0",
    "react-native-shared-element": "0.8.8",
    "react-native-svg": "13.4.0",
    "react-native-svg-transformer": "^1.0.0",
    "react-native-tab-view": "^3.3.0",
    "react-native-toast-message": "^2.1.5",
    "react-native-uuid": "^2.0.1",
    "react-native-vector-icons": "^9.2.0",
    "react-navigation-shared-element": "^3.1.3",
    "react-redux": "^8.0.4",
    "sentry-expo": "~6.1.0",
    "yup": "^0.32.11"
  },
  "devDependencies": {
    "@babel/core": "^7.19.3",
    "babel-plugin-transform-inline-environment-variables": "^0.4.4"
  },
  "private": true
}

export default () => ({
    name: config.appName,
    version: "2.3.7",
    orientation: "portrait",
    icon: config.icon,
    scheme: config.appName,
    splash: {
        image: config.splash,
        resizeMode: "cover",
    },
    updates: {
        fallbackToCacheTimeout: 0,
    },
    assetBundlePatterns: ["**/*"],
    ios: {
        supportsTablet: false,
        bundleIdentifier: config.bundleIdentifier,
        googleServicesFile: config.IOSGoogleServicesFile,
        buildNumber: "2.3.12",
        config: {
            googleMapsApiKey: config.IOSMapAPIKey,
        },
        infoPlist: {
            LSApplicationQueriesSchemes: ["comgooglemaps", "citymapper", "uber", "lyft", "waze", "instagram", "instagram-stories", "fb", "facebook-stories", "fb-messenger"],
            NSRemindersUsageDescription:
                "Requires your permission to add events to your calendar",
            NSLocationWhenInUseUsageDescription:
                "Requires your permission to suggest activities around you",
        },
    },
    android: {
        package: config.bundleIdentifier,
        versionCode: 75,
        googleServicesFile: config.androidGoogleServicesFile,
        permissions: ["READ_CALENDAR", "WRITE_CALENDAR", "ACCESS_FINE_LOCATION", "CAMERA", "READ_EXTERNAL_STORAGE"],
        config: {
            googleMaps: {
                apiKey: config.androidMapAPIKey,
            },
        },
        "softwareKeyboardLayoutMode": "pan"
    },
    "plugins": [
        ["sentry-expo"],
        "@react-native-firebase/app",
        "expo-localization",
        [
            "expo-build-properties",
            {
                "android": {
                    "compileSdkVersion": 33,
                    "targetSdkVersion": 33,
                    "buildToolsVersion": "33.0.0"
                },
                "ios": {
                    "deploymentTarget": "13.0",
                    "useFrameworks": "static"
                }
            }
        ],
        "@react-native-firebase/app",
        "./withReactNativeMaps",
    ],
    runtimeVersion: {
        policy: "sdkVersion",
    },
    updates: {
        url: "https://u.expo.dev/45e3e33d-b12d-4a03-af77-af971415863c",
    },
    "hooks": {
        "postPublish": [
            {
                "file": "sentry-expo/upload-sourcemaps",
                "config": {
                    "organization": config.sentryOrganisation,
                    "project": config.sentryProject
                }
            }
        ]
    },
    extra: {
        eas: {
            projectId: "XXX",
        },
        facebookAppId: process.env.FACEBOOK_APP_ID,
        ...config.config,
    },
});
@MarcHbb MarcHbb added the needs review Issue is ready to be reviewed by a maintainer label Oct 6, 2023
@nikitaSazhinov
Copy link

Hey, I am experiencing the same issue. Have you had any success with resolving this? For now I have to resort to making new builds for publishing. I see the updates in the "updates" page on expo.dev but not in the deployment.

@MarcHbb
Copy link
Author

MarcHbb commented Oct 12, 2023

I have found the issue.
As you can see on my package.json, the version of expo is ^48.0.0
It doesn't mean that my expo package version is 48.0.0. It was actually 48.0.19.
So I removed the "^" et install the 48.0.0 version, made a new build, and then from now i was able to publish my updates and apply it on my production app

The thing I don't understand, is that even with the version 48.0.19, the runtime version was set to 48.0.0 (as you can see above). I don't know where to set this value to make it match to my expo sdk version

@nikitaSazhinov
Copy link

I have found the issue. As you can see on my package.json, the version of expo is ^48.0.0 It doesn't mean that my expo package version is 48.0.0. It was actually 48.0.19. So I removed the "^" et install the 48.0.0 version, made a new build, and then from now i was able to publish my updates and apply it on my production app

The thing I don't understand, is that even with the version 48.0.19, the runtime version was set to 48.0.0 (as you can see above). I don't know where to set this value to make it match to my expo sdk version

That was also the problem for me, thank you.

@sspread
Copy link

sspread commented Dec 28, 2023

Same symptoms here on sdk 49. Downgraded to 49.0.0 strictly (to match sdk in generated manifest), but no luck. I think you can set sdkVersion in manifest though. This one is driving me crazy.

EDIT: My issue was incorrectly thinking that env vars defined in eas.json under each build profile applied to updates. So I had a null env var in js causing crash when update was applied. Clarified here https://docs.expo.dev/eas-update/environment-variables/

@sirusbaladi
Copy link

I have the same exact issue.

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

No branches or pull requests

5 participants