Skip to content

Commit d7d0d7c

Browse files
Merge branch 'Expensify:main' into 74999-member-admin-option-is-displayed-in-singular-when-several-users-are-selected
2 parents 3203190 + 0983893 commit d7d0d7c

344 files changed

Lines changed: 7846 additions & 5126 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,4 @@ GITHUB_TOKEN=YOUR_TOKEN
4242
OPENAI_API_KEY=YOUR_TOKEN
4343

4444
SENTRY_AUTH_TOKEN=SENTRY_AUTH_TOKEN
45+
SENTRY_ALLOW_FAILURE=true

.github/actions/javascript/createOrUpdateStagingDeploy/createOrUpdateStagingDeploy.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -164,23 +164,21 @@ async function run(): Promise<IssuesCreateResponse | void> {
164164
});
165165

166166
// Then make sure we include any demoted or closed blockers as well, and just check them off automatically
167-
// eslint-disable-next-line unicorn/no-array-for-each
168-
currentChecklistData?.deployBlockers.forEach((deployBlocker) => {
167+
for (const deployBlocker of currentChecklistData?.deployBlockers ?? []) {
169168
const isResolved = deployBlockers.findIndex((openBlocker) => openBlocker.number === deployBlocker.number) < 0;
170169
deployBlockers.push({
171170
...deployBlocker,
172171
isResolved,
173172
});
174-
});
173+
}
175174

176175
// Include any existing Mobile-Expensify PRs from the current checklist that aren't in the new merged list
177-
// eslint-disable-next-line unicorn/no-array-for-each
178-
currentChecklistData?.PRListMobileExpensify.forEach((existingPR) => {
176+
for (const existingPR of currentChecklistData?.PRListMobileExpensify ?? []) {
179177
const isAlreadyIncluded = PRListMobileExpensify.findIndex((pr) => pr.number === existingPR.number) >= 0;
180178
if (!isAlreadyIncluded) {
181179
PRListMobileExpensify.push(existingPR);
182180
}
183-
});
181+
}
184182

185183
const didVersionChange = newVersion !== currentChecklistData?.version;
186184
const stagingDeployCashBodyAndAssignees = await GithubUtils.generateStagingDeployCashBodyAndAssignees(

.github/actions/javascript/createOrUpdateStagingDeploy/index.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11674,22 +11674,20 @@ async function run() {
1167411674
};
1167511675
});
1167611676
// Then make sure we include any demoted or closed blockers as well, and just check them off automatically
11677-
// eslint-disable-next-line unicorn/no-array-for-each
11678-
currentChecklistData?.deployBlockers.forEach((deployBlocker) => {
11677+
for (const deployBlocker of currentChecklistData?.deployBlockers ?? []) {
1167911678
const isResolved = deployBlockers.findIndex((openBlocker) => openBlocker.number === deployBlocker.number) < 0;
1168011679
deployBlockers.push({
1168111680
...deployBlocker,
1168211681
isResolved,
1168311682
});
11684-
});
11683+
}
1168511684
// Include any existing Mobile-Expensify PRs from the current checklist that aren't in the new merged list
11686-
// eslint-disable-next-line unicorn/no-array-for-each
11687-
currentChecklistData?.PRListMobileExpensify.forEach((existingPR) => {
11685+
for (const existingPR of currentChecklistData?.PRListMobileExpensify ?? []) {
1168811686
const isAlreadyIncluded = PRListMobileExpensify.findIndex((pr) => pr.number === existingPR.number) >= 0;
1168911687
if (!isAlreadyIncluded) {
1169011688
PRListMobileExpensify.push(existingPR);
1169111689
}
11692-
});
11690+
}
1169311691
const didVersionChange = newVersion !== currentChecklistData?.version;
1169411692
const stagingDeployCashBodyAndAssignees = await GithubUtils_1.default.generateStagingDeployCashBodyAndAssignees(newVersion, PRList.map((pr) => pr.url), PRListMobileExpensify.map((pr) => pr.url), PRList.filter((pr) => pr.isVerified).map((pr) => pr.url), PRListMobileExpensify.filter((pr) => pr.isVerified).map((pr) => pr.url), deployBlockers.map((blocker) => blocker.url), deployBlockers.filter((blocker) => blocker.isResolved).map((blocker) => blocker.url), currentChecklistData?.internalQAPRList.filter((pr) => pr.isResolved).map((pr) => pr.url), didVersionChange ? false : currentChecklistData.isFirebaseChecked, didVersionChange ? false : currentChecklistData.isGHStatusChecked);
1169511693
if (stagingDeployCashBodyAndAssignees) {

.github/actions/javascript/getGraphiteString/getGraphiteString.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ const run = () => {
2323

2424
// Initialize string to store Graphite metrics
2525
let graphiteString = '';
26-
let timestamp: number;
26+
let timestamp: number | null = null;
2727

2828
// Iterate over each entry
29-
// eslint-disable-next-line unicorn/no-array-for-each
30-
regressionEntries.forEach((entry) => {
29+
for (const entry of regressionEntries) {
3130
// Skip empty lines
3231
if (entry.trim() === '') {
33-
return;
32+
continue;
3433
}
3534

3635
try {
@@ -56,7 +55,7 @@ const run = () => {
5655
console.error(error.message);
5756
core.setFailed(error);
5857
}
59-
});
58+
}
6059

6160
// Set generated graphite string to the github variable
6261
core.setOutput('GRAPHITE_STRING', graphiteString);

.github/actions/javascript/getGraphiteString/index.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2745,13 +2745,12 @@ const run = () => {
27452745
const regressionEntries = regressionFile.split('\n');
27462746
// Initialize string to store Graphite metrics
27472747
let graphiteString = '';
2748-
let timestamp;
2748+
let timestamp = null;
27492749
// Iterate over each entry
2750-
// eslint-disable-next-line unicorn/no-array-for-each
2751-
regressionEntries.forEach((entry) => {
2750+
for (const entry of regressionEntries) {
27522751
// Skip empty lines
27532752
if (entry.trim() === '') {
2754-
return;
2753+
continue;
27552754
}
27562755
try {
27572756
const current = JSON.parse(entry);
@@ -2773,7 +2772,7 @@ const run = () => {
27732772
console.error(error.message);
27742773
core.setFailed(error);
27752774
}
2776-
});
2775+
}
27772776
// Set generated graphite string to the github variable
27782777
core.setOutput('GRAPHITE_STRING', graphiteString);
27792778
};

.github/workflows/deploy.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ jobs:
167167
ANDROID_BUILD_TYPE: ${{ vars.ANDROID_BUILD_TYPE }}
168168
GITHUB_ACTOR: ${{ github.actor }}
169169
GITHUB_TOKEN: ${{ github.token }}
170+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
170171

171172
- name: Upload Android app to Google Play
172173
if: ${{ fromJSON(env.SHOULD_BUILD_APP) }}
@@ -382,6 +383,7 @@ jobs:
382383
APPLE_SHARE_PROVISIONING_PROFILE_NAME: ${{ vars.APPLE_SHARE_PROVISIONING_PROFILE_NAME }}
383384
APPLE_NOTIFICATION_PROVISIONING_PROFILE_FILE: ${{ vars.APPLE_NOTIFICATION_PROVISIONING_PROFILE_FILE }}
384385
APPLE_NOTIFICATION_PROVISIONING_PROFILE_NAME: ${{ vars.APPLE_NOTIFICATION_PROVISIONING_PROFILE_NAME }}
386+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
385387

386388
- name: Upload release build to TestFlight
387389
if: ${{ fromJSON(env.SHOULD_BUILD_APP) }}

.github/workflows/testBuild.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ jobs:
284284
ANDROID_UPLOAD_KEY_PASSWORD: ${{ steps.load-credentials.outputs.ANDROID_UPLOAD_KEY_PASSWORD }}
285285
GITHUB_ACTOR: ${{ github.actor }}
286286
GITHUB_TOKEN: ${{ github.token }}
287+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
287288
run: bundle exec fastlane android build_adhoc_hybrid
288289

289290
- name: Configure AWS Credentials

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20.19.4
1+
20.19.5

Mobile-Expensify

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ android {
114114
minSdkVersion rootProject.ext.minSdkVersion
115115
targetSdkVersion rootProject.ext.targetSdkVersion
116116
multiDexEnabled rootProject.ext.multiDexEnabled
117-
versionCode 1009026700
118-
versionName "9.2.67-0"
117+
versionCode 1009027200
118+
versionName "9.2.72-0"
119119
// Supported language variants must be declared here to avoid from being removed during the compilation.
120120
// This also helps us to not include unnecessary language variants in the APK.
121121
resConfigs "en", "es"

0 commit comments

Comments
 (0)