From 150337e2a53d1817145a6af68ef7177bfbba0f08 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 7 Jul 2026 17:24:47 +0400 Subject: [PATCH] ci: update simulator version in CI --- .github/workflows/flare-ui.yml | 10 +++++----- .github/workflows/flare.yml | 10 +++++----- .../Views/ImageView/ImageView.swift | 14 ++++++-------- .../ProductInfoView/ProductInfoView.swift | 19 +++++++++---------- .../Views/SubscriptionHeaderView.swift | 7 +++---- .../Views/SubscriptionToolbarView.swift | 13 ++++++------- .../ReceiptRefreshProviderTests.swift | 4 +++- mise.toml | 2 +- renovate.json | 4 ++++ 9 files changed, 42 insertions(+), 41 deletions(-) diff --git a/.github/workflows/flare-ui.yml b/.github/workflows/flare-ui.yml index d81c4cfe1..c4bc489d2 100644 --- a/.github/workflows/flare-ui.yml +++ b/.github/workflows/flare-ui.yml @@ -38,22 +38,22 @@ jobs: matrix: include: # macOS - - { platform: macOS, name: "macOS 26, Xcode 26.0, Swift 6.2.0", xcode: "Xcode_26.0", runsOn: macOS-26, destination: "platform=macOS", testPlan: "FlareUIUnitTests" } + - { platform: macOS, name: "macOS 26, Xcode 26.5, Swift 6.2.0", xcode: "Xcode_26.5", runsOn: macOS-26, destination: "platform=macOS", testPlan: "FlareUIUnitTests" } - { platform: macOS, name: "macOS 14, Xcode 16.0, Swift 6.0.2", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "platform=macOS", testPlan: "FlareUIUnitTests"} - { platform: macOS, name: "macOS 14, Xcode 15.4, Swift 5.10", xcode: "Xcode_15.4", runsOn: macOS-14, destination: "platform=macOS", testPlan: "FlareUIUnitTests" } # iOS - - { platform: iOS, name: "iOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0.1,name=iPhone 17 Pro", testPlan: "FlareUIUnitTests" } + - { platform: iOS, name: "iOS 26.5", xcode: "Xcode_26.5", runsOn: macOS-26, destination: "OS=26.5,name=iPhone 17 Pro", testPlan: "FlareUIUnitTests" } - { platform: iOS, name: "iOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=iPhone 16 Pro", testPlan: "FlareUIUnitTests" } - { platform: iOS, name: "iOS 17.4", xcode: "Xcode_15.4", runsOn: macOS-14, destination: "OS=17.4,name=iPhone 15 Pro", testPlan: "FlareUIUnitTests" } # tvOS - - { platform: tvOS, name: "tvOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0,name=Apple TV", testPlan: "FlareUIUnitTests" } + - { platform: tvOS, name: "tvOS 26.5", xcode: "Xcode_26.5", runsOn: macOS-26, destination: "OS=26.5,name=Apple TV", testPlan: "FlareUIUnitTests" } - { platform: tvOS, name: "tvOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=Apple TV", testPlan: "FlareUIUnitTests" } - { platform: tvOS, name: "tvOS 17.4", xcode: "Xcode_15.4", runsOn: macOS-14, destination: "OS=17.4,name=Apple TV", testPlan: "FlareUIUnitTests" } # watchOS - - { platform: watchOS, name: "watchOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0,name=Apple Watch Ultra 3 (49mm)", testPlan: "FlareUIUnitTests" } + - { platform: watchOS, name: "watchOS 26.5", xcode: "Xcode_26.5", runsOn: macOS-26, destination: "OS=26.5,name=Apple Watch Ultra 3 (49mm)", testPlan: "FlareUIUnitTests" } - { platform: watchOS, name: "watchOS 11.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=11.1,name=Apple Watch Series 10 (46mm)", testPlan: "FlareUIUnitTests" } - { platform: watchOS, name: "watchOS 10.5", xcode: "Xcode_15.3", runsOn: macOS-14, destination: "OS=10.5,name=Apple Watch Series 9 (45mm)", testPlan: "FlareUIUnitTests" } steps: @@ -87,7 +87,7 @@ jobs: fail-fast: false matrix: include: - - { name: "macOS 26, SPM 6.2.0", xcode: "Xcode_26.0.1", runsOn: macOS-26 } + - { name: "macOS 26, SPM 6.2.0", xcode: "Xcode_26.5", runsOn: macOS-26 } - { name: "macOS 14, SPM 6.0.2", xcode: "Xcode_16.1", runsOn: macOS-14 } - { name: "macOS 14, SPM 5.10.0", xcode: "Xcode_15.3", runsOn: macOS-14 } steps: diff --git a/.github/workflows/flare.yml b/.github/workflows/flare.yml index 779db4c4f..39ea4d5f6 100644 --- a/.github/workflows/flare.yml +++ b/.github/workflows/flare.yml @@ -37,22 +37,22 @@ jobs: matrix: include: # macOS - - { platform: macOS, name: "macOS 26, Xcode 26.0, Swift 6.2.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "platform=macOS", testPlan: "UnitTests" } + - { platform: macOS, name: "macOS 26, Xcode 26.5, Swift 6.2.0", xcode: "Xcode_26.5", runsOn: macOS-26, destination: "platform=macOS", testPlan: "UnitTests" } - { platform: macOS, name: "macOS 14, Xcode 16.1, Swift 6.0.2", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "platform=macOS", testPlan: "UnitTests" } - { platform: macOS, name: "macOS 14, Xcode 15.4, Swift 5.10", xcode: "Xcode_15.4", runsOn: macOS-14, destination: "platform=macOS", testPlan: "UnitTests" } # iOS - - { platform: iOS, name: "iOS 26.0, Xcode 26.0, Swift 6.2.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0.1,name=iPhone 17 Pro", testPlan: "AllTests" } + - { platform: iOS, name: "iOS 26.5, Xcode 26.5, Swift 6.2.0", xcode: "Xcode_26.5", runsOn: macOS-26, destination: "OS=26.5,name=iPhone 17 Pro", testPlan: "AllTests" } - { platform: iOS, name: "iOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=iPhone 16 Pro", testPlan: "AllTests" } - { platform: iOS, name: "iOS 17.4", xcode: "Xcode_15.4", runsOn: macOS-14, destination: "OS=17.4,name=iPhone 15 Pro", testPlan: "AllTests" } # tvOS - - { platform: tvOS, name: "tvOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0,name=Apple TV", testPlan: "AllTests" } + - { platform: tvOS, name: "tvOS 26.5", xcode: "Xcode_26.5", runsOn: macOS-26, destination: "OS=26.5,name=Apple TV", testPlan: "AllTests" } - { platform: tvOS, name: "tvOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=Apple TV", testPlan: "AllTests" } - { platform: tvOS, name: "tvOS 17.4", xcode: "Xcode_15.4", runsOn: macOS-14, destination: "OS=17.4,name=Apple TV", testPlan: "AllTests" } # watchOS - - { platform: watchOS, name: "watchOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0,name=Apple Watch Ultra 3 (49mm)", testPlan: "UnitTests" } + - { platform: watchOS, name: "watchOS 26.5", xcode: "Xcode_26.5", runsOn: macOS-26, destination: "OS=26.5,name=Apple Watch Ultra 3 (49mm)", testPlan: "UnitTests" } - { platform: watchOS, name: "watchOS 11.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=11.1,name=Apple Watch Series 10 (46mm)", testPlan: "UnitTests" } - { platform: watchOS, name: "watchOS 10.5", xcode: "Xcode_15.3", runsOn: macOS-14, destination: "OS=10.5,name=Apple Watch Series 9 (45mm)", testPlan: "UnitTests" } steps: @@ -86,7 +86,7 @@ jobs: fail-fast: false matrix: include: - - { name: "macOS 26, SPM 6.2.0", xcode: "Xcode_26.0.1", runsOn: macOS-26 } + - { name: "macOS 26, SPM 6.2.0", xcode: "Xcode_26.5", runsOn: macOS-26 } - { name: "macOS 15, SPM 6.0.2", xcode: "Xcode_16.0", runsOn: macOS-15 } - { name: "macOS 14, SPM 6.0.2", xcode: "Xcode_16.1", runsOn: macOS-14 } - { name: "macOS 14, SPM 5.10.0", xcode: "Xcode_15.3", runsOn: macOS-14 } diff --git a/Sources/FlareUI/Classes/Presentation/Components/Views/ImageView/ImageView.swift b/Sources/FlareUI/Classes/Presentation/Components/Views/ImageView/ImageView.swift index 31dbbb352..729ec2d63 100644 --- a/Sources/FlareUI/Classes/Presentation/Components/Views/ImageView/ImageView.swift +++ b/Sources/FlareUI/Classes/Presentation/Components/Views/ImageView/ImageView.swift @@ -21,14 +21,12 @@ struct ImageView: View { // MARK: View var body: some View { - Group { - if #available(macOS 11.0, iOS 14.0, tvOS 14.0, *) { - Image(systemName: systemName) - .resizable() - } else { - defaultImage - .resizable() - } + if #available(macOS 11.0, iOS 14.0, tvOS 14.0, *) { + Image(systemName: systemName) + .resizable() + } else { + defaultImage + .resizable() } } } diff --git a/Sources/FlareUI/Classes/Presentation/Views/ProductView/Views/ProductInfoView/ProductInfoView.swift b/Sources/FlareUI/Classes/Presentation/Views/ProductView/Views/ProductInfoView/ProductInfoView.swift index 5c991299f..fdc9859de 100644 --- a/Sources/FlareUI/Classes/Presentation/Views/ProductView/Views/ProductInfoView/ProductInfoView.swift +++ b/Sources/FlareUI/Classes/Presentation/Views/ProductView/Views/ProductInfoView/ProductInfoView.swift @@ -130,17 +130,16 @@ struct ProductInfoView: View { } } + @ViewBuilder private func stackView(spacing: CGFloat? = nil, @ViewBuilder content: () -> some View) -> some View { - Group { - switch style { - case .compact: - HStack(alignment: .center, spacing: spacing) { - content() - } - case .large: - VStack(alignment: .center, spacing: spacing) { - content() - } + switch style { + case .compact: + HStack(alignment: .center, spacing: spacing) { + content() + } + case .large: + VStack(alignment: .center, spacing: spacing) { + content() } } } diff --git a/Sources/FlareUI/Classes/Presentation/Views/SubscriptionsView/Views/SubscriptionHeaderView.swift b/Sources/FlareUI/Classes/Presentation/Views/SubscriptionsView/Views/SubscriptionHeaderView.swift index 28daf7608..89e7b8916 100644 --- a/Sources/FlareUI/Classes/Presentation/Views/SubscriptionsView/Views/SubscriptionHeaderView.swift +++ b/Sources/FlareUI/Classes/Presentation/Views/SubscriptionsView/Views/SubscriptionHeaderView.swift @@ -53,12 +53,11 @@ struct SubscriptionHeaderView: View { } } + @ViewBuilder @MainActor private var policiesButton: some View { - Group { - if storeButton.contains(.policies) { - storeButtonsAssembly?.assemble(storeButtonType: .policies) - } + if storeButton.contains(.policies) { + storeButtonsAssembly?.assemble(storeButtonType: .policies) } } } diff --git a/Sources/FlareUI/Classes/Presentation/Views/SubscriptionsView/Views/SubscriptionToolbarView.swift b/Sources/FlareUI/Classes/Presentation/Views/SubscriptionsView/Views/SubscriptionToolbarView.swift index 5018293e6..9767fa969 100644 --- a/Sources/FlareUI/Classes/Presentation/Views/SubscriptionsView/Views/SubscriptionToolbarView.swift +++ b/Sources/FlareUI/Classes/Presentation/Views/SubscriptionsView/Views/SubscriptionToolbarView.swift @@ -74,14 +74,13 @@ struct SubscriptionToolbarView: View { .padding(.top) } + @ViewBuilder private var storeButtonView: some View { - Group { - if #available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *) { - if storeButton.contains(.restore) { - storeButtonsAssembly?.assemble(storeButtonType: .restore) - .storeButtonViewFontWeight(.bold) - .foregroundColor(subscriptionViewTint) - } + if #available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *) { + if storeButton.contains(.restore) { + storeButtonsAssembly?.assemble(storeButtonType: .restore) + .storeButtonViewFontWeight(.bold) + .foregroundColor(subscriptionViewTint) } } } diff --git a/Tests/FlareTests/UnitTests/Providers/ReceiptRefreshProviderTests.swift b/Tests/FlareTests/UnitTests/Providers/ReceiptRefreshProviderTests.swift index d433f4459..49968e2fb 100644 --- a/Tests/FlareTests/UnitTests/Providers/ReceiptRefreshProviderTests.swift +++ b/Tests/FlareTests/UnitTests/Providers/ReceiptRefreshProviderTests.swift @@ -92,7 +92,9 @@ class ReceiptRefreshProviderTests: XCTestCase { } // then - if case .failure = result { XCTFail("The result must be `success`") } + if case .failure = result { + XCTFail("The result must be `success`") + } XCTAssertEqual(stubbedRequest.invokedIdGetterCount, 1) } diff --git a/mise.toml b/mise.toml index c27c737f3..cc3638275 100644 --- a/mise.toml +++ b/mise.toml @@ -2,7 +2,7 @@ git-cliff = "2.13.1" swiftlint = "0.65.0" swiftformat = "0.62.0" -xcodegen = "2.45.4" +xcodegen = "2.43.0" [settings] experimental = true diff --git a/renovate.json b/renovate.json index 15d7c9928..e5120da21 100644 --- a/renovate.json +++ b/renovate.json @@ -27,6 +27,10 @@ { "matchManagers": ["github-actions"], "labels": ["github-actions", "ci"] + }, + { + "matchPackageNames": ["xcodegen"], + "enabled": false } ], "lockFileMaintenance": {