Skip to content

Commit 43179cc

Browse files
authored
Add asset catalog thinning step before Sentry upload (#556)
1 parent 643b899 commit 43179cc

File tree

6 files changed

+55
-84
lines changed

6 files changed

+55
-84
lines changed

.github/workflows/ios_emerge_upload_adhoc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
SIGNING_KEY_PASSWORD: ${{ secrets.IOS_DIST_SIGNING_KEY_PASSWORD }}
5151
SIGNING_KEY_FILE_PATH: signing-cert.p12
5252
EMERGE_API_TOKEN: ${{ secrets.EMERGE_API_KEY }}
53-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
53+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_SENTRY_AUTH_TOKEN }}
5454
CONFIGURATION: AdHoc
5555
EMERGE_BUILD_TYPE: pull-request-adhoc
5656
PROV_PROFILE_NAME: HackerNews AdHoc Distribution

.github/workflows/ios_emerge_upload_main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
SIGNING_KEY_PASSWORD: ${{ secrets.IOS_DIST_SIGNING_KEY_PASSWORD }}
4747
SIGNING_KEY_FILE_PATH: signing-cert.p12
4848
EMERGE_API_TOKEN: ${{ secrets.EMERGE_API_KEY }}
49-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
49+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_SENTRY_AUTH_TOKEN }}
5050
CONFIGURATION: Release
5151
EMERGE_BUILD_TYPE: release
5252

.github/workflows/ios_emerge_upload_pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,6 @@ jobs:
4646
SIGNING_KEY_PASSWORD: ${{ secrets.IOS_DIST_SIGNING_KEY_PASSWORD }}
4747
SIGNING_KEY_FILE_PATH: signing-cert.p12
4848
EMERGE_API_TOKEN: ${{ secrets.EMERGE_API_KEY }}
49-
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
49+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_SENTRY_AUTH_TOKEN }}
5050
CONFIGURATION: Release
5151
EMERGE_BUILD_TYPE: pull-request

.github/workflows/ios_sentry_upload_pr.yml

Lines changed: 0 additions & 76 deletions
This file was deleted.

ios/HackerNews/ContentView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
// Created by Trevor Elkins on 6/20/23..
66
//
77

8-
import SwiftUI
98
import Common
9+
import SwiftUI
1010

1111
struct ContentView: View {
1212

ios/fastlane/Fastfile

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ platform :ios do
162162
build_app_for_scheme(build_configuration: 'Release')
163163
upload_app
164164
emerge(tag: ENV['EMERGE_BUILD_TYPE'])
165+
thin_asset_catalogs
165166
sentry_debug_files_upload(
166167
auth_token: ENV['SENTRY_AUTH_TOKEN'],
167168
org_slug: 'emerge-tools',
@@ -170,8 +171,8 @@ platform :ios do
170171
)
171172
sentry_upload_mobile_app(
172173
auth_token: ENV['SENTRY_AUTH_TOKEN'],
173-
org_slug: 'emerge-tools',
174-
project_slug: 'hackernews-ios'
174+
org_slug: 'sentry',
175+
project_slug: 'launchpad-test-ios'
175176
)
176177
end
177178

@@ -184,10 +185,11 @@ platform :ios do
184185
tag: ENV['EMERGE_BUILD_TYPE'],
185186
app_id_suffix: ENV['APP_ID_SUFFIX']
186187
)
188+
thin_asset_catalogs
187189
sentry_upload_mobile_app(
188190
auth_token: ENV['SENTRY_AUTH_TOKEN'],
189-
org_slug: 'emerge-tools',
190-
project_slug: 'hackernews-ios'
191+
org_slug: 'sentry',
192+
project_slug: 'launchpad-test-ios'
191193
)
192194
end
193195

@@ -196,6 +198,51 @@ platform :ios do
196198
emerge_snapshot(scheme: "HackerNews")
197199
end
198200

201+
desc 'Thin asset catalogs in XCArchive'
202+
lane :thin_asset_catalogs do |options|
203+
UI.message('Finding and thinning asset catalogs in XCArchive...')
204+
205+
xcarchive_path = lane_context[SharedValues::XCODEBUILD_ARCHIVE]
206+
UI.message("Using archive: #{xcarchive_path}")
207+
208+
Dir.chdir('..') do
209+
car_files = Dir.glob("#{xcarchive_path}/**/*.app/**/*.car")
210+
211+
if car_files.empty?
212+
UI.message("No .car files found in XCArchive")
213+
else
214+
car_files.each do |car_file|
215+
UI.message("Found asset catalog: #{car_file}")
216+
217+
backup_file = "#{car_file}.backup"
218+
FileUtils.cp(car_file, backup_file)
219+
220+
command = [
221+
'assetutil',
222+
'-i', 'phone',
223+
'-s', '3',
224+
'-p', 'P3',
225+
'-M', '4',
226+
'-g', 'MTL6,1',
227+
'-r', '13.0',
228+
car_file,
229+
'-o', car_file
230+
]
231+
232+
success = system(*command)
233+
234+
if success
235+
UI.success("Successfully thinned: #{car_file}")
236+
FileUtils.rm(backup_file)
237+
else
238+
UI.error("Failed to thin: #{car_file}, restoring backup")
239+
FileUtils.mv(backup_file, car_file)
240+
end
241+
end
242+
end
243+
end
244+
end
245+
199246
desc 'Build the iOS app only (no uploads)'
200247
lane :build_only do
201248
load_asc_api_key

0 commit comments

Comments
 (0)