Skip to content

Commit

Permalink
Merge branch 'Expensify:main' into intl-bank-account
Browse files Browse the repository at this point in the history
  • Loading branch information
shubham1206agra authored Jan 12, 2025
2 parents 0d12036 + fb487a5 commit dff31f4
Show file tree
Hide file tree
Showing 70 changed files with 756 additions and 485 deletions.
52 changes: 42 additions & 10 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ jobs:
- name: Setup Node
id: setup-node
uses: ./.github/actions/composite/setupNode
with:
with:
IS_HYBRID_BUILD: 'true'

- name: Run grunt build
Expand Down Expand Up @@ -166,8 +166,9 @@ jobs:
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
run: |
op document get --output ./upload-key.keystore upload-key.keystore
op document get --output ./android-fastlane-json-key.json android-fastlane-json-key.json
op read op://Mobile-Deploy-CI/firebase.json/firebase.json --force --out-file ./firebase.json
op read op://Mobile-Deploy-CI/upload-key.keystore/upload-key.keystore --force --out-file ./upload-key.keystore
op read op://Mobile-Deploy-CI/android-fastlane-json-key.json/android-fastlane-json-key.json --force --out-file ./android-fastlane-json-key.json
# Copy the keystore to the Android directory for Fullstory
cp ./upload-key.keystore Mobile-Expensify/Android
Expand Down Expand Up @@ -218,7 +219,7 @@ jobs:
else
echo "Skipping the completion of the previous version rollout"
fi
# Submit the new version for review and slow rollout when it's approved
bundle exec fastlane android upload_google_play_production_hybrid_rollout
env:
Expand All @@ -230,6 +231,31 @@ jobs:
env:
BROWSERSTACK: ${{ secrets.BROWSERSTACK }}

- name: Generate APK from AAB
run: |
json=$(curl -s https://api.github.com/repos/google/bundletool/releases/latest)
downloadUrl=$(echo "$json" | jq -r ".assets | .[].browser_download_url")
curl "$downloadUrl" -4 -sL -o 'bundletool.jar'
java -jar bundletool.jar build-apks --bundle=${{ env.aabPath }} --output=Expensify.apks \
--mode=universal \
--ks=upload-key.keystore \
--ks-pass=pass:${{ steps.load-credentials.outputs.ANDROID_UPLOAD_KEYSTORE_PASSWORD }} \
--ks-key-alias=${{ steps.load-credentials.outputs.ANDROID_UPLOAD_KEYSTORE_ALIAS }} \
--key-pass=pass:${{ steps.load-credentials.outputs.ANDROID_UPLOAD_KEY_PASSWORD }}
unzip -p Expensify.apks universal.apk > Expensify.apk
- name: Upload Android APK build artifact
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
uses: actions/upload-artifact@v4
with:
name: android-hybrid-apk-artifact
path: Expensify.apk

- name: Upload Android build to Firebase distribution
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
run: bundle exec fastlane android upload_firebase_distribution

- name: Upload Android build artifact
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -451,7 +477,7 @@ jobs:
- name: Setup Node
id: setup-node
uses: ./.github/actions/composite/setupNode
with:
with:
IS_HYBRID_BUILD: 'true'

- name: Setup Ruby
Expand Down Expand Up @@ -488,9 +514,10 @@ jobs:
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
run: |
op document get --output ./OldApp_AppStore.mobileprovision OldApp_AppStore
op document get --output ./OldApp_AppStore_Share_Extension.mobileprovision OldApp_AppStore_Share_Extension
op document get --output ./OldApp_AppStore_Notification_Service.mobileprovision OldApp_AppStore_Notification_Service
op read op://Mobile-Deploy-CI/firebase.json/firebase.json --force --out-file ./firebase.json
op read op://Mobile-Deploy-CI/OldApp_AppStore/OldApp_AppStore.mobileprovision --force --out-file ./OldApp_AppStore.mobileprovision
op read op://Mobile-Deploy-CI/OldApp_AppStore_Share_Extension/OldApp_AppStore_Share_Extension.mobileprovision --force --out-file ./OldApp_AppStore_Share_Extension.mobileprovision
op read op://Mobile-Deploy-CI/OldApp_AppStore_Notification_Service/OldApp_AppStore_Notification_Service.mobileprovision --force --out-file ./OldApp_AppStore_Notification_Service.mobileprovision
- name: Decrypt AppStore profile
run: cd ios && gpg --quiet --batch --yes --decrypt --passphrase="$LARGE_SECRET_PASSPHRASE" --output NewApp_AppStore.mobileprovision NewApp_AppStore.mobileprovision.gpg
Expand Down Expand Up @@ -537,8 +564,8 @@ jobs:
run: |
# Complete the previous version rollout
bundle exec fastlane ios complete_hybrid_rollout
# Submit the new version for review and phased rollout when it's approved
# Submit the new version for review and phased rollout when it's approved
bundle exec fastlane ios submit_hybrid_for_rollout
env:
VERSION: ${{ steps.getIOSVersion.outputs.IOS_VERSION }}
Expand All @@ -549,6 +576,10 @@ jobs:
env:
BROWSERSTACK: ${{ secrets.BROWSERSTACK }}

- name: Upload iOS build to Firebase distribution
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
run: bundle exec fastlane ios upload_firebase_distribution

- name: Upload iOS build artifact
if: ${{ !fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }}
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -756,6 +787,7 @@ jobs:
"./android-sourcemaps-artifact/index.android.bundle.map#android-sourcemap.js.map"
"./android-aab-artifact/app-production-release.aab#android.aab"
"./android-hybrid-build-artifact/Expensify-release.aab#android-hybrid.aab"
"./android-hybrid-apk-artifact/Expensify.apk#android-hybrid.apk"
"./android-hybrid-sourcemap-artifact/index.android.bundle.map#android-hybrid-sourcemap.js.map"
"./desktop-staging-sourcemaps-artifact/desktop-staging-merged-source-map.js.map#desktop-staging-sourcemap.js.map"
"./desktop-staging-build-artifact/NewExpensify.dmg#desktop-staging.dmg"
Expand Down
14 changes: 11 additions & 3 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@ GEM
apktools (~> 0.7)
aws-sdk-s3 (~> 1)
mime-types (~> 3.3)
fastlane-plugin-firebase_app_distribution (0.10.0)
google-apis-firebaseappdistribution_v1 (~> 0.3.0)
google-apis-firebaseappdistribution_v1alpha (~> 0.2.0)
fastlane-sirp (1.0.0)
sysrandom (~> 1.0)
ffi (1.17.0)
Expand All @@ -184,6 +187,10 @@ GEM
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
google-apis-firebaseappdistribution_v1 (0.3.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-firebaseappdistribution_v1alpha (0.2.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
Expand Down Expand Up @@ -229,7 +236,7 @@ GEM
molinillo (0.8.0)
multi_json (1.15.0)
multipart-post (2.4.1)
nanaimo (0.4.0)
nanaimo (0.3.0)
nap (1.1.0)
naturally (2.2.1)
netrc (0.11.0)
Expand Down Expand Up @@ -274,12 +281,12 @@ GEM
uber (0.1.0)
unicode-display_width (2.6.0)
word_wrap (1.0.0)
xcodeproj (1.27.0)
xcodeproj (1.25.1)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
nanaimo (~> 0.3.0)
rexml (>= 3.3.6, < 4.0)
xcpretty (0.3.0)
rouge (~> 2.0.7)
Expand All @@ -298,6 +305,7 @@ DEPENDENCIES
cocoapods (= 1.15.2)
fastlane (~> 2, >= 2.222.0)
fastlane-plugin-aws_s3
fastlane-plugin-firebase_app_distribution
xcodeproj (< 1.26.0)
xcpretty (~> 0)

Expand Down
2 changes: 1 addition & 1 deletion Mobile-Expensify
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1009008300
versionName "9.0.83-0"
versionCode 1009008401
versionName "9.0.84-1"
// Supported language variants must be declared here to avoid from being removed during the compilation.
// This also helps us to not include unnecessary language variants in the APK.
resConfigs "en", "es"
Expand Down
21 changes: 21 additions & 0 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,17 @@ platform :android do
)
end

desc "Upload app to Firebase distribution"
lane :upload_firebase_distribution do
firebase_app_distribution(
app: "1:1008697809946:android:2e48f9ffe8d0b6a2",
service_credentials_file: "./firebase.json",
groups: "applause",
android_artifact_path: ENV[KEY_GRADLE_AAB_PATH],
android_artifact_type: "AAB"
)
end

desc "Upload HybridApp to Google Play for internal testing"
lane :upload_google_play_internal_hybrid do
# Google is very unreliable, so we retry a few times
Expand Down Expand Up @@ -507,6 +518,16 @@ platform :ios do
sh("echo '{\"ipa_path\": \"#{lane_context[SharedValues::S3_IPA_OUTPUT_PATH]}\",\"html_path\": \"#{lane_context[SharedValues::S3_HTML_OUTPUT_PATH]}\"}' > ../ios_paths.json")
end

desc "Upload app to Firebase distribution"
lane :upload_firebase_distribution do
firebase_app_distribution(
app: "1:1008697809946:ios:3ffad71f664f2886",
service_credentials_file: "./firebase.json",
groups: "applause",
ipa_path: ENV[KEY_IPA_PATH],
)
end

desc "Upload app to TestFlight"
lane :upload_testflight do
upload_to_testflight(
Expand Down
1 change: 1 addition & 0 deletions fastlane/Pluginfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
# Ensure this file is checked in to source control!

gem 'fastlane-plugin-aws_s3'
gem 'fastlane-plugin-firebase_app_distribution'
4 changes: 2 additions & 2 deletions ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>9.0.83</string>
<string>9.0.84</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -40,7 +40,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>9.0.83.0</string>
<string>9.0.84.1</string>
<key>FullStory</key>
<dict>
<key>OrgId</key>
Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>9.0.83</string>
<string>9.0.84</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>9.0.83.0</string>
<string>9.0.84.1</string>
</dict>
</plist>
4 changes: 2 additions & 2 deletions ios/NotificationServiceExtension/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleShortVersionString</key>
<string>9.0.83</string>
<string>9.0.84</string>
<key>CFBundleVersion</key>
<string>9.0.83.0</string>
<string>9.0.84.1</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
Expand Down
30 changes: 16 additions & 14 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
"version": "9.0.83-0",
"version": "9.0.84-1",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
Expand Down Expand Up @@ -169,7 +169,7 @@
"react-native-permissions": "^3.10.0",
"react-native-picker-select": "git+https://github.com/Expensify/react-native-picker-select.git#da50d2c5c54e268499047f9cc98b8df4196c1ddf",
"react-native-plaid-link-sdk": "11.11.0",
"react-native-qrcode-svg": "6.3.11",
"react-native-qrcode-svg": "6.3.14",
"react-native-quick-sqlite": "git+https://github.com/margelo/react-native-nitro-sqlite#99f34ebefa91698945f3ed26622e002bd79489e0",
"react-native-reanimated": "3.16.4",
"react-native-release-profiler": "^0.2.1",
Expand Down
3 changes: 0 additions & 3 deletions src/CONST.ts
Original file line number Diff line number Diff line change
Expand Up @@ -651,8 +651,6 @@ const CONST = {
P2P_DISTANCE_REQUESTS: 'p2pDistanceRequests',
SPOTNANA_TRAVEL: 'spotnanaTravel',
REPORT_FIELDS_FEATURE: 'reportFieldsFeature',
COMPANY_CARD_FEEDS: 'companyCardFeeds',
DIRECT_FEEDS: 'directFeeds',
NETSUITE_USA_TAX: 'netsuiteUsaTax',
COMBINED_TRACK_SUBMIT: 'combinedTrackSubmit',
CATEGORY_AND_TAG_APPROVERS: 'categoryAndTagApprovers',
Expand Down Expand Up @@ -866,7 +864,6 @@ const CONST = {
EMPTY_ARRAY,
EMPTY_OBJECT,
DEFAULT_NUMBER_ID: 0,
EMPTY_STRING: '',
USE_EXPENSIFY_URL,
EXPENSIFY_URL,
GOOGLE_MEET_URL_ANDROID: 'https://meet.google.com',
Expand Down
Loading

0 comments on commit dff31f4

Please sign in to comment.