Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/mobile-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ jobs:
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "16.4"
xcode-version: "16.2"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixes incorrect upgrade from previous pr


- uses: actions/checkout@v4
- name: Cache Node Modules
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mobile-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ jobs:
if: inputs.platform != 'android'
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "16.4"
xcode-version: "16.2"

- name: Cache Yarn dependencies
id: yarn-cache
Expand Down
45 changes: 4 additions & 41 deletions .github/workflows/mobile-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ env:
ANDROID_NDK_VERSION: 27.0.11718014
# Cache versions
GH_CACHE_VERSION: v1 # Global cache version
GH_GEMS_CACHE_VERSION: v1 # Ruby gems cache version
# Performance optimizations
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.workers.max=4 -Dorg.gradle.parallel=true -Dorg.gradle.configureondemand=true -Dorg.gradle.caching=true
CI: true
Expand Down Expand Up @@ -184,13 +183,10 @@ jobs:
- run: corepack enable
- run: corepack prepare [email protected] --activate
- name: Cache Yarn dependencies
uses: actions/cache@v4
uses: ./.github/actions/cache-yarn
with:
path: .yarn/cache
key: ${{ runner.os }}-node-${{ env.NODE_VERSION_SANITIZED }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-${{ env.NODE_VERSION_SANITIZED }}-yarn-
- run: yarn install --immutable --silent
cache-version: ${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}
- run: yarn workspaces focus @selfxyz/mobile-app
- name: Cache Maestro
id: cache-maestro
uses: actions/cache@v4
Expand All @@ -205,54 +201,21 @@ jobs:
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "16.4"
xcode-version: "16.2"
- name: Cache Node modules
uses: actions/cache@v4
with:
path: app/node_modules
key: ${{ runner.os }}-node-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('app/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-${{ env.NODE_VERSION_SANITIZED }}-
- name: Cache Ruby gems
uses: ./.github/actions/cache-bundler
with:
path: app/vendor/bundle
lock-file: app/Gemfile.lock
cache-version: ${{ env.GH_CACHE_VERSION }}-${{ env.GH_GEMS_CACHE_VERSION }}-ruby${{ env.RUBY_VERSION }}
- name: Cache Pods
uses: ./.github/actions/cache-pods
with:
path: |
app/ios/Pods
~/Library/Caches/CocoaPods
lock-file: app/ios/Podfile.lock
- name: Cache Xcode build
uses: actions/cache@v4
with:
path: |
app/ios/build
~/Library/Developer/Xcode/DerivedData
~/Library/Caches/com.apple.dt.Xcode
key: ${{ runner.os }}-xcode-${{ hashFiles('app/ios/Podfile.lock') }}-${{ hashFiles('app/ios/OpenPassport.xcworkspace/contents.xcworkspacedata') }}
restore-keys: |
${{ runner.os }}-xcode-${{ hashFiles('app/ios/Podfile.lock') }}-
${{ runner.os }}-xcode-
- name: Cache Xcode Index
uses: actions/cache@v4
with:
path: app/ios/build/Index.noindex
key: ${{ runner.os }}-xcode-index-${{ hashFiles('app/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-xcode-index-
- name: Cache iOS Simulator
uses: actions/cache@v4
with:
path: |
~/Library/Developer/CoreSimulator/Devices
~/Library/Developer/Xcode/iOS DeviceSupport
key: ${{ runner.os }}-simulator-v1
restore-keys: |
${{ runner.os }}-simulator-
- name: Install iOS Runtime
run: |
echo "📱 Checking iOS Runtime availability..."
Expand Down
15 changes: 14 additions & 1 deletion app/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,20 @@ platform :ios do

target_platform = options[:prod_release] ? "App Store" : "TestFlight"
should_upload = Fastlane::Helpers.should_upload_app(target_platform)
workspace_path = File.expand_path("../ios/#{PROJECT_NAME}.xcworkspace", Dir.pwd)

# Robust workspace path resolution
scheme_workspace_path = File.expand_path("../ios/#{PROJECT_SCHEME}.xcworkspace", Dir.pwd)
project_workspace_path = File.expand_path("../ios/#{PROJECT_NAME}.xcworkspace", Dir.pwd)

workspace_path = if File.exist?(scheme_workspace_path)
scheme_workspace_path
elsif File.exist?(project_workspace_path)
project_workspace_path
else
raise "No workspace found for scheme '#{PROJECT_SCHEME}' or project '#{PROJECT_NAME}'. " \
"Checked paths: #{scheme_workspace_path}, #{project_workspace_path}"
end

ios_signing_certificate_name = "iPhone Distribution: #{ENV["IOS_TEAM_NAME"]} (#{ENV["IOS_TEAM_ID"]})"

Fastlane::Helpers.verify_env_vars(required_env_vars)
Expand Down
Loading