The latest in fastlane

This commit is contained in:
Theodore Dubois
2023-04-22 21:59:10 -07:00
parent 00d72328a8
commit a1c265284c
7 changed files with 53 additions and 39 deletions
+12 -12
View File
@@ -3,21 +3,21 @@ GEM
specs:
CFPropertyList (3.0.6)
rexml
addressable (2.8.1)
addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.716.0)
aws-sdk-core (3.170.0)
aws-partitions (1.752.0)
aws-sdk-core (3.171.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.62.0)
aws-sdk-kms (1.63.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.119.1)
aws-sdk-s3 (1.121.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
@@ -67,7 +67,7 @@ GEM
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.212.1)
fastlane (2.212.2)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -107,8 +107,8 @@ GEM
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.34.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-androidpublisher_v3 (0.39.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
@@ -120,8 +120,8 @@ GEM
webrick
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.12.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.19.0)
google-apis-core (>= 0.9.0, < 2.a)
google-cloud-core (1.6.0)
@@ -129,7 +129,7 @@ GEM
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.0)
google-cloud-errors (1.3.1)
google-cloud-storage (1.44.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
@@ -138,7 +138,7 @@ GEM
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.3.0)
googleauth (1.5.2)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
+3 -4
View File
@@ -281,15 +281,14 @@ void NetworkReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReach
[UIView setAnimationsEnabled:NO];
#if !ISH_LINUX
self.ishVersion = [NSString stringWithFormat:@"iSH %@ (%@)",
NSString *ishVersion = [NSString stringWithFormat:@"iSH %@ (%@)",
[NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"],
[NSBundle.mainBundle objectForInfoDictionaryKey:(NSString *) kCFBundleVersionKey]];
extern const char *proc_ish_version;
proc_ish_version = self.ishVersion.UTF8String;
proc_ish_version = strdup(ishVersion.UTF8String);
// this defaults key is set when taking app store screenshots
self.unameHostname = [NSUserDefaults.standardUserDefaults stringForKey:@"hostnameOverride"];
extern const char *uname_hostname_override;
uname_hostname_override = self.unameHostname.UTF8String;
uname_hostname_override = strdup([NSUserDefaults.standardUserDefaults stringForKey:@"hostnameOverride"].UTF8String);
#endif
[UserPreferences.shared observe:@[@"shouldDisableDimming"] options:NSKeyValueObservingOptionInitial
+11 -10
View File
@@ -30,6 +30,7 @@
app.launchArguments = [app.launchArguments arrayByAddingObjectsFromArray:@[@"-hostnameOverride", hostnameOverride]];
[app launch];
XCTAssert([app.webViews.staticTexts.firstMatch waitForExistenceWithTimeout:10]);
[self chooseTheme:@"Solarized"];
}
- (XCUIElementQuery *)terminalLines {
@@ -64,17 +65,17 @@
[self waitForPromptWithTimeout:timeout];
}
- (void)chooseTheme:(NSString *)name {
[self.app.buttons[@"Settings"] tap];
[self.app.tables.staticTexts[@"Appearance"] tap];
[self.app.tables.staticTexts[@"Theme"] tap];
[self.app.tables.staticTexts[name] tap];
[self.app.navigationBars[@"Themes"].buttons[@"Appearance"] tap];
[self.app.navigationBars[@"Appearance"].buttons[@"Settings"] tap];
[self.app.navigationBars[@"Settings"].buttons[@"Done"] tap];
}
- (void)snapshot:(NSString *)name order:(NSUInteger)order {
// choose mode
// [self.app.buttons[@"Settings"] tap];
// [self.app.tables.staticTexts[@"Appearance"] tap];
// if (order % 2 == 1) {
// [self.app.tables.staticTexts[@"Light"] tap];
// } else {
// [self.app.tables.staticTexts[@"Dark"] tap];
// }
// [self.app.navigationBars[@"Appearance"].buttons[@"About"] tap];
// [self.app.navigationBars[@"About"].buttons[@"Done"] tap];
name = [NSString stringWithFormat:@"%02u%@", (unsigned) order, name];
[Snapshot snapshot:name timeWaitingForIdle:10];
}
+3
View File
@@ -14,6 +14,9 @@
"testTargets" : [
{
"skippedTests" : [
"Screenshots\/testEditorsInTmux",
"Screenshots\/testEmacs",
"Screenshots\/testLanguages",
"UITests"
],
"target" : {
+1
View File
@@ -2,6 +2,7 @@ app_identifier "app.ish.iSH" # The bundle identifier of your app
apple_id "tblodt@icloud.com" # Your Apple email address
team_id "CK5SXRTBR7" # Developer Portal Team ID
itc_team_name "Theodore Dubois"
# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://docs.fastlane.tools/advanced/#appfile
+6
View File
@@ -2,6 +2,8 @@ scheme("Screenshots")
devices([
"iPhone 11",
"iPhone Xs Max",
"iPhone Xʀ",
"iPhone X",
"iPhone 8 Plus",
"iPhone 8",
@@ -17,9 +19,13 @@ languages([
"en-US",
])
dark_mode(true)
override_status_bar(true)
xcconfig("app/AppStore.xcconfig")
xcargs("ARCHS=arm64")
reinstall_app(true)
clear_previous_screenshots(true)
stop_after_first_error(true)
number_of_retries(2) # it's buggy
disable_slide_to_type(true)
+17 -13
View File
@@ -165,7 +165,7 @@ open class Snapshot: NSObject {
}
let screenshot = XCUIScreen.main.screenshot()
#if os(iOS)
#if os(iOS) && !targetEnvironment(macCatalyst)
let image = XCUIDevice.shared.orientation.isLandscape ? fixLandscapeOrientation(image: screenshot.image) : screenshot.image
#else
let image = screenshot.image
@@ -181,7 +181,7 @@ open class Snapshot: NSObject {
let path = screenshotsDir.appendingPathComponent("\(simulator)-\(name).png")
#if swift(<5.0)
UIImagePNGRepresentation(image)?.write(to: path, options: .atomic)
try UIImagePNGRepresentation(image)?.write(to: path, options: .atomic)
#else
try image.pngData()?.write(to: path, options: .atomic)
#endif
@@ -193,16 +193,20 @@ open class Snapshot: NSObject {
}
class func fixLandscapeOrientation(image: UIImage) -> UIImage {
if #available(iOS 10.0, *) {
let format = UIGraphicsImageRendererFormat()
format.scale = image.scale
let renderer = UIGraphicsImageRenderer(size: image.size, format: format)
return renderer.image { context in
image.draw(in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
}
} else {
#if os(watchOS)
return image
}
#else
if #available(iOS 10.0, *) {
let format = UIGraphicsImageRendererFormat()
format.scale = image.scale
let renderer = UIGraphicsImageRenderer(size: image.size, format: format)
return renderer.image { context in
image.draw(in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
}
} else {
return image
}
#endif
}
class func waitForLoadingIndicatorToDisappear(within timeout: TimeInterval) {
@@ -227,7 +231,7 @@ open class Snapshot: NSObject {
#if os(OSX)
let homeDir = URL(fileURLWithPath: NSHomeDirectory())
return homeDir.appendingPathComponent(cachePath)
#elseif arch(i386) || arch(x86_64)
#elseif arch(i386) || arch(x86_64) || arch(arm64)
guard let simulatorHostHome = ProcessInfo().environment["SIMULATOR_HOST_HOME"] else {
throw SnapshotError.cannotFindSimulatorHomeDirectory
}
@@ -302,4 +306,4 @@ private extension CGFloat {
// Please don't remove the lines below
// They are used to detect outdated configuration files
// SnapshotHelperVersion [1.24]
// SnapshotHelperVersion [1.29]