diff --git a/.github/workflows/bundle-deploy-eas-update.yml b/.github/workflows/bundle-deploy-eas-update.yml index b442de6ccc..1b2fba0b75 100644 --- a/.github/workflows/bundle-deploy-eas-update.yml +++ b/.github/workflows/bundle-deploy-eas-update.yml @@ -121,9 +121,11 @@ jobs: if: ${{ !steps.fingerprint.outputs.includes-changes }} run: | SENTRY_DIST=${{ steps.sentry.outputs.SENTRY_DIST }} SENTRY_RELEASE=${{ steps.sentry.outputs.SENTRY_RELEASE }} SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_DSN=${{ secrets.SENTRY_DSN }} EXPO_PUBLIC_ENV="${{ inputs.channel || 'testflight' }}" yarn export-ios + mv ./dist ./ios-dist sed -i 's/"react-native-mmkv": "\^2\.12\.2"/"react-native-mmkv": "^3.3.0"/' package.json yarn install SENTRY_DIST=${{ steps.sentry.outputs.SENTRY_DIST }} SENTRY_RELEASE=${{ steps.sentry.outputs.SENTRY_RELEASE }} SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_DSN=${{ secrets.SENTRY_DSN }} EXPO_PUBLIC_ENV="${{ inputs.channel || 'testflight' }}" yarn export-android + mv ./dist ./android-dist - name: 📦 Package Bundle and 🚀 Deploy diff --git a/scripts/bundleUpdate.js b/scripts/bundleUpdate.js index 00217dcd7b..a5f1fb641d 100644 --- a/scripts/bundleUpdate.js +++ b/scripts/bundleUpdate.js @@ -3,17 +3,25 @@ const fs = require('fs') const fsp = fs.promises const path = require('path') -const DIST_DIR = './dist' +const IOS_DIST_DIR = './ios-dist' +const ANDROID_DIST_DIR = './android-dist' + const BUNDLES_DIR = '/_expo/static/js' -const IOS_BUNDLE_DIR = path.join(DIST_DIR, BUNDLES_DIR, '/ios') -const ANDROID_BUNDLE_DIR = path.join(DIST_DIR, BUNDLES_DIR, '/android') -const METADATA_PATH = path.join(DIST_DIR, '/metadata.json') + +const IOS_BUNDLE_DIR = path.join(IOS_DIST_DIR, BUNDLES_DIR, '/ios') +const ANDROID_BUNDLE_DIR = path.join(ANDROID_DIST_DIR, BUNDLES_DIR, '/android') + +const IOS_METADATA_PATH = path.join(IOS_DIST_DIR, '/metadata.json') +const ANDROID_METADATA_PATH = path.join(ANDROID_DIST_DIR, '/metadata.json') + const DEST_DIR = './bundleTempDir' // Weird, don't feel like figuring out _why_ it wants this -const METADATA = require(`../${METADATA_PATH}`) -const IOS_METADATA_ASSETS = METADATA.fileMetadata.ios.assets -const ANDROID_METADATA_ASSETS = METADATA.fileMetadata.android.assets +const IOS_METADATA = require(`../${IOS_METADATA_PATH}`) +const ANDROID_METADATA = require(`../${ANDROID_METADATA_PATH}`) + +const IOS_METADATA_ASSETS = IOS_METADATA.fileMetadata.ios.assets +const ANDROID_METADATA_ASSETS = ANDROID_METADATA.fileMetadata.android.assets const getMd5 = async path => { return new Promise(res => { @@ -60,7 +68,7 @@ const moveFiles = async () => { console.log('Getting ios asset md5s and moving them...') for (const asset of IOS_METADATA_ASSETS) { - const currPath = path.join(DIST_DIR, asset.path) + const currPath = path.join(IOS_DIST_DIR, asset.path) const md5 = await getMd5(currPath) const withExtPath = `assets/${md5}.${asset.ext}` iosAssets.push(withExtPath) @@ -69,7 +77,7 @@ const moveFiles = async () => { console.log('Getting android asset md5s and moving them...') for (const asset of ANDROID_METADATA_ASSETS) { - const currPath = path.join(DIST_DIR, asset.path) + const currPath = path.join(ANDROID_DIST_DIR, asset.path) const md5 = await getMd5(currPath) const withExtPath = `assets/${md5}.${asset.ext}` androidAssets.push(withExtPath)