diff --git a/.detoxrc.js b/.detoxrc.js index ad953511261..b1a80212b46 100644 --- a/.detoxrc.js +++ b/.detoxrc.js @@ -26,7 +26,7 @@ module.exports = { configurations: { 'ios.sim.apiSpecs': { device: 'ios.simulator', - app: 'ios.qa', + app: process.env.CI ? 'ios.qa' :'ios.debug', testRunner: { args: { "$0": "node e2e/api-specs/run-api-spec-tests.js", diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 584e983f57c..75b4cf336b9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: cache: yarn - uses: ruby/setup-ruby@a6e6f86333f0a2523ece813039b8b4be04560854 #v1 with: - ruby-version: '3.1.5' + ruby-version: '3.1.6' bundler-cache: true env: BUNDLE_GEMFILE: ios/Gemfile diff --git a/.ruby-version b/.ruby-version index 3ad0595adcc..9cec7165ab0 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1.5 +3.1.6 diff --git a/app/components/Views/AccountConnect/AccountConnect.tsx b/app/components/Views/AccountConnect/AccountConnect.tsx index 6bb65b3e2d0..539183fed79 100644 --- a/app/components/Views/AccountConnect/AccountConnect.tsx +++ b/app/components/Views/AccountConnect/AccountConnect.tsx @@ -121,7 +121,6 @@ const AccountConnect = (props: AccountConnectProps) => { const accountsLength = useSelector(selectAccountsLength); const { wc2Metadata } = useSelector((state: RootState) => state.sdk); - const isOriginWalletConnect = wc2Metadata?.id && wc2Metadata?.id.length > 0; const { origin: channelIdOrHostname } = hostInfo.metadata as { id: string; origin: string; @@ -141,6 +140,8 @@ const AccountConnect = (props: AccountConnectProps) => { const isOriginMMSDKRemoteConn = sdkConnection !== undefined; + const isOriginWalletConnect = !isOriginMMSDKRemoteConn && wc2Metadata?.id && wc2Metadata?.id.length > 0; + const dappIconUrl = sdkConnection?.originatorInfo?.icon; const dappUrl = sdkConnection?.originatorInfo?.url ?? ''; diff --git a/bitrise.yml b/bitrise.yml index 1fc61f98351..abc58e570f2 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -1026,6 +1026,16 @@ workflows: inputs: - abort_on_fail: 'yes' - access_token: $BITRISE_START_BUILD_ACCESS_TOKEN + build_ios_release_with_sourcemaps: + envs: + - UPLOAD_SOURCEMAP: true + after_run: + - build_ios_release + build_android_release_with_sourcemaps: + envs: + - UPLOAD_SOURCEMAP: true + after_run: + - build_android_release build_android_release: before_run: - code_setup @@ -1050,9 +1060,14 @@ workflows: inputs: - content: |- #!/usr/bin/env bash - node -v - METAMASK_BUILD_TYPE='main' METAMASK_ENVIRONMENT='production' yarn build:android:pre-release:bundle - title: Build Android Pre-Release Bundle + if [ "$UPLOAD_SOURCEMAP" = "true" ]; then + echo "Creating and uploading Sentry sourcemap..." + METAMASK_BUILD_TYPE='main' METAMASK_ENVIRONMENT='production' yarn build:android:pre-release:bundle:sourcemap + else + echo "Skipping Sentry sourcemap creation and upload..." + METAMASK_BUILD_TYPE='main' METAMASK_ENVIRONMENT='production' yarn build:android:pre-release:bundle + fi + title: Android Build is_always_run: false - save-gradle-cache@1: {} - deploy-to-bitrise-io@2.2.3: @@ -1280,8 +1295,14 @@ workflows: inputs: - content: |- #!/usr/bin/env bash - METAMASK_BUILD_TYPE='main' METAMASK_ENVIRONMENT='production' yarn build:ios:pre-release - title: iOS Sourcemaps & Build + if [ "$UPLOAD_SOURCEMAP" = "true" ]; then + echo "Creating and uploading Sentry sourcemap..." + METAMASK_BUILD_TYPE='main' METAMASK_ENVIRONMENT='production' yarn build:ios:pre-release:sourcemap + else + echo "Skipping Sentry sourcemap creation and upload..." + METAMASK_BUILD_TYPE='main' METAMASK_ENVIRONMENT='production' yarn build:ios:pre-release + fi + title: iOS Build is_always_run: false - deploy-to-bitrise-io@2.2.3: is_always_run: false diff --git a/ios/Gemfile b/ios/Gemfile index 3c02108f3ce..4d245c9f943 100644 --- a/ios/Gemfile +++ b/ios/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' # Recommended to use http://rbenv.org/ to install and use this version -ruby '>= 3.1.5' +ruby '>= 3.1.6' # Allow minor version updates up to but excluding 2.0.0 gem 'cocoapods', '~> 1.12' diff --git a/ios/Gemfile.lock b/ios/Gemfile.lock index 8450432ac95..ed3f678b6d1 100644 --- a/ios/Gemfile.lock +++ b/ios/Gemfile.lock @@ -101,7 +101,7 @@ DEPENDENCIES cocoapods (~> 1.12) RUBY VERSION - ruby 3.1.5p252 + ruby 3.1.6p260 BUNDLED WITH 2.5.8 diff --git a/ios/Podfile b/ios/Podfile index 56b8c3f9164..9d33a0cc3a1 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -62,7 +62,7 @@ def common_target_logic # dependencies: { # ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), # ``` - flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled + flipper_config = FlipperConfiguration.disabled use_react_native!( :path => config[:reactNativePath], # to enable hermes on iOS, change `false` to `true` and then install pods diff --git a/package.json b/package.json index 2d747bf2cf6..b950bcb7a19 100644 --- a/package.json +++ b/package.json @@ -37,12 +37,14 @@ "build:android:checksum:flask": "export METAMASK_BUILD_TYPE='flask' && ./scripts/checksum.sh flask", "build:android:checksum:verify": "shasum -a 512 -c sha512sums.txt", "build:android:pre-release": "./scripts/build.sh android release --pre", + "build:android:pre-release:bundle:sourcemap": "NO_FLIPPER='1' && GENERATE_BUNDLE=true ./scripts/build.sh android releaseSourcemap --pre", "build:android:pre-release:bundle": "GENERATE_BUNDLE=true ./scripts/build.sh android release --pre", "build:android:pre-release:bundle:qa": "GENERATE_BUNDLE=true ./scripts/build.sh android QA --pre", "build:android:pre-release:bundle:flask": "export METAMASK_BUILD_TYPE='flask' && GENERATE_BUNDLE=true ./scripts/build.sh android flask --pre", "build:ios:release": "./scripts/build.sh ios release", "build:ios:pre-flask": "export METAMASK_BUILD_TYPE='flask' && ./scripts/build.sh ios flask --pre", "build:ios:pre-release": "./scripts/build.sh ios release --pre", + "build:ios:pre-release:sourcemap": "NO_FLIPPER='1' ./scripts/build.sh ios releaseSourcemap --pre", "build:ios:pre-qa": "./scripts/build.sh ios QA --pre", "build:android:qa": "NO_FLIPPER='1' ./scripts/build.sh android QA", "build:ios:qa": "NO_FLIPPER='1' ./scripts/build.sh ios QA", diff --git a/scripts/build.sh b/scripts/build.sh index fcc66ba15ee..9b62bd92b9a 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -298,9 +298,6 @@ generateArchivePackages() { buildIosRelease(){ remapEnvVariableRelease - # Enable Sentry to auto upload source maps and debug symbols - export SENTRY_DISABLE_AUTO_UPLOAD="false" - prebuild_ios # Replace release.xcconfig with ENV vars @@ -424,8 +421,6 @@ buildAndroidRelease(){ adb uninstall io.metamask || true fi - # Enable Sentry to auto upload source maps and debug symbols - export SENTRY_DISABLE_AUTO_UPLOAD="false" prebuild_android # GENERATE APK @@ -486,6 +481,10 @@ buildAndroidQAE2E(){ buildAndroid() { if [ "$MODE" == "release" ] ; then buildAndroidRelease + elif [ "$MODE" == "releaseSourcemap" ] ; then + # Enable Sentry to auto upload source maps and debug symbols + export SENTRY_DISABLE_AUTO_UPLOAD="false" + buildAndroidRelease elif [ "$MODE" == "flask" ] ; then buildAndroidFlaskRelease elif [ "$MODE" == "QA" ] ; then @@ -494,8 +493,8 @@ buildAndroid() { buildAndroidReleaseE2E elif [ "$MODE" == "QAE2E" ] ; then buildAndroidQAE2E - elif [ "$MODE" == "debugE2E" ] ; then - buildAndroidRunE2E + elif [ "$MODE" == "debugE2E" ] ; then + buildAndroidRunE2E elif [ "$MODE" == "qaDebug" ] ; then buildAndroidRunQA elif [ "$MODE" == "flaskDebug" ] ; then @@ -518,13 +517,17 @@ buildIos() { echo "Build iOS $MODE started..." if [ "$MODE" == "release" ] ; then buildIosRelease + elif [ "$MODE" == "releaseSourcemap" ] ; then + # Enable Sentry to auto upload source maps and debug symbols + export SENTRY_DISABLE_AUTO_UPLOAD="false" + buildIosRelease elif [ "$MODE" == "flask" ] ; then buildIosFlaskRelease elif [ "$MODE" == "releaseE2E" ] ; then buildIosReleaseE2E - elif [ "$MODE" == "debugE2E" ] ; then - buildIosSimulatorE2E - elif [ "$MODE" == "qadebugE2E" ] ; then + elif [ "$MODE" == "debugE2E" ] ; then + buildIosSimulatorE2E + elif [ "$MODE" == "qadebugE2E" ] ; then buildIosQASimulatorE2E elif [ "$MODE" == "QA" ] ; then buildIosQA diff --git a/scripts/docker/Dockerfile b/scripts/docker/Dockerfile index 3ef506222ca..392e10d7fd4 100644 --- a/scripts/docker/Dockerfile +++ b/scripts/docker/Dockerfile @@ -40,8 +40,8 @@ ENV BUNDLE_PATH=/home/node/.bundle ENV HOME=/home/node # distro rbenv and ruby are out of date - install rbenv from git and manage ruby # RUBY_BUILD_VERSION=v20240501 -ARG RBENV_COMMIT=c3ba994ec2daccf4d160aea7f55dd5cc6fc873ef -ARG RUBY_BUILD_COMMIT=263640c9fe1d44e6fc8f86fc56a67ee58e7b22f7 +ARG RBENV_COMMIT=3bac268cdb81dd745ce13a1cf6ff4a286336ab3b +ARG RUBY_BUILD_COMMIT=aab1b8d0e7e814f200320749501ba57e2fae20d0 RUN (mkdir /home/node/.rbenv \ && curl -sL https://github.com/rbenv/rbenv/archive/${RBENV_COMMIT}.tar.gz \ | tar --strip-components=1 -C /home/node/.rbenv/ -xzf - \