-4
.github/workflows/build-submit-android.yml
-4
.github/workflows/build-submit-android.yml
+1
-13
.github/workflows/bundle-deploy-eas-update.yml
+1
-13
.github/workflows/bundle-deploy-eas-update.yml
···
5
push:
6
branches:
7
- main
8
-
- hailey/eas-fab
9
workflow_dispatch:
10
inputs:
11
channel:
···
119
120
- name: 🏗️ Create Bundle
121
if: ${{ !steps.fingerprint.outputs.includes-changes }}
122
-
run: |
123
-
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
124
-
mv ./dist ./ios-dist
125
-
sed -i 's/"react-native-mmkv": "\^2\.12\.2"/"react-native-mmkv": "^3.3.0"/' package.json
126
-
yarn install
127
-
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
128
-
mv ./dist ./android-dist
129
-
130
131
- name: 📦 Package Bundle and 🚀 Deploy
132
if: ${{ !steps.fingerprint.outputs.includes-changes }}
···
282
with:
283
distribution: 'temurin'
284
java-version: '17'
285
-
286
-
- name: "Use upgraded MMKV for Fabric"
287
-
run: |
288
-
sed -i 's/"react-native-mmkv": "\^2\.12\.2"/"react-native-mmkv": "^3.3.0"/' package.json
289
290
- name: ⚙️ Install dependencies
291
run: yarn install
···
5
push:
6
branches:
7
- main
8
workflow_dispatch:
9
inputs:
10
channel:
···
118
119
- name: 🏗️ Create Bundle
120
if: ${{ !steps.fingerprint.outputs.includes-changes }}
121
+
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
122
123
- name: 📦 Package Bundle and 🚀 Deploy
124
if: ${{ !steps.fingerprint.outputs.includes-changes }}
···
274
with:
275
distribution: 'temurin'
276
java-version: '17'
277
278
- name: ⚙️ Install dependencies
279
run: yarn install
+1
-1
app.config.js
+1
-1
app.config.js
+1
-2
package.json
+1
-2
package.json
···
61
"intl:push": "crowdin push translations --verbose -b main",
62
"nuke": "rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android",
63
"update-extensions": "bash scripts/updateExtensions.sh",
64
-
"export-ios": "npx expo export --platform ios --dump-sourcemap && yarn upload-native-sourcemaps",
65
-
"export-android": "npx expo export --platform android --dump-sourcemap && yarn upload-native-sourcemaps",
66
"upload-native-sourcemaps": "npx sentry-expo-upload-sourcemaps dist",
67
"make-deploy-bundle": "bash scripts/bundleUpdate.sh",
68
"generate-webpack-stats-file": "EXPO_PUBLIC_GENERATE_STATS=1 yarn build-web",
···
61
"intl:push": "crowdin push translations --verbose -b main",
62
"nuke": "rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android",
63
"update-extensions": "bash scripts/updateExtensions.sh",
64
+
"export": "npx expo export --dump-sourcemap && yarn upload-native-sourcemaps",
65
"upload-native-sourcemaps": "npx sentry-expo-upload-sourcemaps dist",
66
"make-deploy-bundle": "bash scripts/bundleUpdate.sh",
67
"generate-webpack-stats-file": "EXPO_PUBLIC_GENERATE_STATS=1 yarn build-web",
+9
-17
scripts/bundleUpdate.js
+9
-17
scripts/bundleUpdate.js
···
3
const fsp = fs.promises
4
const path = require('path')
5
6
-
const IOS_DIST_DIR = './ios-dist'
7
-
const ANDROID_DIST_DIR = './android-dist'
8
-
9
const BUNDLES_DIR = '/_expo/static/js'
10
-
11
-
const IOS_BUNDLE_DIR = path.join(IOS_DIST_DIR, BUNDLES_DIR, '/ios')
12
-
const ANDROID_BUNDLE_DIR = path.join(ANDROID_DIST_DIR, BUNDLES_DIR, '/android')
13
-
14
-
const IOS_METADATA_PATH = path.join(IOS_DIST_DIR, '/metadata.json')
15
-
const ANDROID_METADATA_PATH = path.join(ANDROID_DIST_DIR, '/metadata.json')
16
-
17
const DEST_DIR = './bundleTempDir'
18
19
// Weird, don't feel like figuring out _why_ it wants this
20
-
const IOS_METADATA = require(`../${IOS_METADATA_PATH}`)
21
-
const ANDROID_METADATA = require(`../${ANDROID_METADATA_PATH}`)
22
-
23
-
const IOS_METADATA_ASSETS = IOS_METADATA.fileMetadata.ios.assets
24
-
const ANDROID_METADATA_ASSETS = ANDROID_METADATA.fileMetadata.android.assets
25
26
const getMd5 = async path => {
27
return new Promise(res => {
···
68
69
console.log('Getting ios asset md5s and moving them...')
70
for (const asset of IOS_METADATA_ASSETS) {
71
-
const currPath = path.join(IOS_DIST_DIR, asset.path)
72
const md5 = await getMd5(currPath)
73
const withExtPath = `assets/${md5}.${asset.ext}`
74
iosAssets.push(withExtPath)
···
77
78
console.log('Getting android asset md5s and moving them...')
79
for (const asset of ANDROID_METADATA_ASSETS) {
80
-
const currPath = path.join(ANDROID_DIST_DIR, asset.path)
81
const md5 = await getMd5(currPath)
82
const withExtPath = `assets/${md5}.${asset.ext}`
83
androidAssets.push(withExtPath)
···
3
const fsp = fs.promises
4
const path = require('path')
5
6
+
const DIST_DIR = './dist'
7
const BUNDLES_DIR = '/_expo/static/js'
8
+
const IOS_BUNDLE_DIR = path.join(DIST_DIR, BUNDLES_DIR, '/ios')
9
+
const ANDROID_BUNDLE_DIR = path.join(DIST_DIR, BUNDLES_DIR, '/android')
10
+
const METADATA_PATH = path.join(DIST_DIR, '/metadata.json')
11
const DEST_DIR = './bundleTempDir'
12
13
// Weird, don't feel like figuring out _why_ it wants this
14
+
const METADATA = require(`../${METADATA_PATH}`)
15
+
const IOS_METADATA_ASSETS = METADATA.fileMetadata.ios.assets
16
+
const ANDROID_METADATA_ASSETS = METADATA.fileMetadata.android.assets
17
18
const getMd5 = async path => {
19
return new Promise(res => {
···
60
61
console.log('Getting ios asset md5s and moving them...')
62
for (const asset of IOS_METADATA_ASSETS) {
63
+
const currPath = path.join(DIST_DIR, asset.path)
64
const md5 = await getMd5(currPath)
65
const withExtPath = `assets/${md5}.${asset.ext}`
66
iosAssets.push(withExtPath)
···
69
70
console.log('Getting android asset md5s and moving them...')
71
for (const asset of ANDROID_METADATA_ASSETS) {
72
+
const currPath = path.join(DIST_DIR, asset.path)
73
const md5 = await getMd5(currPath)
74
const withExtPath = `assets/${md5}.${asset.ext}`
75
androidAssets.push(withExtPath)