From 38cb51109e39bc99073dbce09612ce2fce87bb4d Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 17:15:32 +0100 Subject: [PATCH 01/12] chore: Test if Package.swift is valid on CI --- .circleci/config.yml | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b7e2021c62..b485840171 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -399,6 +399,15 @@ commands: path: fastlane/test_output/xctest destination: scan-test-output + validate-package-swift: + parameters: + swift_version: + type: string + steps: + - run: + name: Validate Package.swift + command: swift package describe --swift-sdk "<< parameters.swift_version >>" + jobs: spm-release-build-xcode-14: executor: @@ -1351,7 +1360,24 @@ workflows: - run-revenuecat-ui-ios-17 - run-revenuecat-ui-ios-18 - emerge_purchases_ui_snapshot_tests - + - validate-package-swift: + swift_version: 5.7 + filters: + changes: + paths: + - "Package@swift-5.7.swift" + - validate-package-swift: + swift_version: 5.8 + filters: + changes: + paths: + - "Package@swift-5.8.swift" + - validate-package-swift: + swift_version: 6.0 + filters: + changes: + paths: + - "Package.swift" create-tag: when: and: From 8d540c1d86695b7f57d79eb2a0ca7c6628380462 Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 17:19:51 +0100 Subject: [PATCH 02/12] swift-version should be a string --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b485840171..839e3fa8e1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1361,19 +1361,19 @@ workflows: - run-revenuecat-ui-ios-18 - emerge_purchases_ui_snapshot_tests - validate-package-swift: - swift_version: 5.7 + swift_version: "5.7" filters: changes: paths: - "Package@swift-5.7.swift" - validate-package-swift: - swift_version: 5.8 + swift_version: "5.8" filters: changes: paths: - "Package@swift-5.8.swift" - validate-package-swift: - swift_version: 6.0 + swift_version: "6.0" filters: changes: paths: From f4e6c4392c6df27cbeb65105acc7a969b3a78530 Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 17:32:21 +0100 Subject: [PATCH 03/12] remove path filtering --- .circleci/config.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 839e3fa8e1..37cd260d1b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,8 @@ orbs: macos: circleci/macos@2.5.1 slack: circleci/slack@4.10.1 + path-filtering: circleci/path-filtering@1.2.0 + # Disabled until compatible with M1: codecov: codecov/codecov@3.3.0 # codecov: codecov/codecov@3.3.0 @@ -1362,22 +1364,10 @@ workflows: - emerge_purchases_ui_snapshot_tests - validate-package-swift: swift_version: "5.7" - filters: - changes: - paths: - - "Package@swift-5.7.swift" - validate-package-swift: swift_version: "5.8" - filters: - changes: - paths: - - "Package@swift-5.8.swift" - validate-package-swift: swift_version: "6.0" - filters: - changes: - paths: - - "Package.swift" create-tag: when: and: From 23a623fdb1cf872811fdb60bc0d8582a9dae8a7c Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 17:33:29 +0100 Subject: [PATCH 04/12] declare validate-package-swift in jobs --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 37cd260d1b..aef6953ad1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,6 @@ orbs: macos: circleci/macos@2.5.1 slack: circleci/slack@4.10.1 - path-filtering: circleci/path-filtering@1.2.0 # Disabled until compatible with M1: codecov: codecov/codecov@3.3.0 # codecov: codecov/codecov@3.3.0 @@ -401,6 +400,8 @@ commands: path: fastlane/test_output/xctest destination: scan-test-output +jobs: + validate-package-swift: parameters: swift_version: @@ -409,8 +410,7 @@ commands: - run: name: Validate Package.swift command: swift package describe --swift-sdk "<< parameters.swift_version >>" - -jobs: + spm-release-build-xcode-14: executor: name: macos-executor From d5b2724af5af6aeb094e4673e9a88cd2d3fcd1f1 Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 17:48:54 +0100 Subject: [PATCH 05/12] correct yntax --- .circleci/config.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index aef6953ad1..f52972b37a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -403,14 +403,17 @@ commands: jobs: validate-package-swift: + executor: + name: macos-executor parameters: swift_version: type: string steps: + - checkout - run: name: Validate Package.swift - command: swift package describe --swift-sdk "<< parameters.swift_version >>" - + command: swift package describe --swift-sdk "$(<< parameters.swift_version >>)" + spm-release-build-xcode-14: executor: name: macos-executor From ee0f0c046fa39e596c0239eb5d91bba4fbe4887b Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 18:02:27 +0100 Subject: [PATCH 06/12] test broken package --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 43e193c3f7..38a50a7392 100644 --- a/Package.swift +++ b/Package.swift @@ -37,7 +37,7 @@ let environmentVariables = ProcessInfo.processInfo.environment let shouldIncludeDocCPlugin = environmentVariables["INCLUDE_DOCC_PLUGIN"] == "true" var dependencies: [Package.Dependency] = [ - .package(url: "https://github.com/quick/nimble", revision: "1f3bde57bde12f5e7b07909848c071e9b73d6edc"), + .package(url: "https://github.com/quick/nimble", revision: "1f3bde57bde12f5e7b07909848c071e9b73d6edc" // SST requires iOS 13 starting from version 1.13.0 .package( url: "https://github.com/pointfreeco/swift-snapshot-testing", From 9b1eb82726df38f5bdc2fd59f6285ac2763c240c Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 18:04:23 +0100 Subject: [PATCH 07/12] correct cmd --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f52972b37a..4bf5e48777 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -412,7 +412,7 @@ jobs: - checkout - run: name: Validate Package.swift - command: swift package describe --swift-sdk "$(<< parameters.swift_version >>)" + command: swift package describe --swift-sdk << parameters.swift_version >> spm-release-build-xcode-14: executor: From 64e72129edc79c3f80c27ecfe84208f2c3385fe4 Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 18:16:24 +0100 Subject: [PATCH 08/12] test differnt xcode versions --- .circleci/config.yml | 15 ++++++++------- Package.swift | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4bf5e48777..145eca32e6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -403,16 +403,17 @@ commands: jobs: validate-package-swift: + parameters: + xcode_version: + type: string executor: name: macos-executor - parameters: - swift_version: - type: string + xcode_version: << parameters.xcode_version >> steps: - checkout - run: name: Validate Package.swift - command: swift package describe --swift-sdk << parameters.swift_version >> + command: swift package describe spm-release-build-xcode-14: executor: @@ -1366,11 +1367,11 @@ workflows: - run-revenuecat-ui-ios-18 - emerge_purchases_ui_snapshot_tests - validate-package-swift: - swift_version: "5.7" + xcode_version: "14.3.0" - validate-package-swift: - swift_version: "5.8" + xcode_version: "15.2.0" - validate-package-swift: - swift_version: "6.0" + swift_version: "16.0.0" create-tag: when: and: diff --git a/Package.swift b/Package.swift index 38a50a7392..43e193c3f7 100644 --- a/Package.swift +++ b/Package.swift @@ -37,7 +37,7 @@ let environmentVariables = ProcessInfo.processInfo.environment let shouldIncludeDocCPlugin = environmentVariables["INCLUDE_DOCC_PLUGIN"] == "true" var dependencies: [Package.Dependency] = [ - .package(url: "https://github.com/quick/nimble", revision: "1f3bde57bde12f5e7b07909848c071e9b73d6edc" + .package(url: "https://github.com/quick/nimble", revision: "1f3bde57bde12f5e7b07909848c071e9b73d6edc"), // SST requires iOS 13 starting from version 1.13.0 .package( url: "https://github.com/pointfreeco/swift-snapshot-testing", From 2e7ae38336fdcd0b38389b507ad98b3f43123db7 Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 18:18:21 +0100 Subject: [PATCH 09/12] xcode_version --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 145eca32e6..247ea353d2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1371,7 +1371,7 @@ workflows: - validate-package-swift: xcode_version: "15.2.0" - validate-package-swift: - swift_version: "16.0.0" + xcode_version: "16.0.0" create-tag: when: and: From 850af4a449c891c779a2987c1931341e9d01877e Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 18:22:16 +0100 Subject: [PATCH 10/12] lower xcode tools --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 247ea353d2..99918be70b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1367,7 +1367,7 @@ workflows: - run-revenuecat-ui-ios-18 - emerge_purchases_ui_snapshot_tests - validate-package-swift: - xcode_version: "14.3.0" + xcode_version: "14.0.1" - validate-package-swift: xcode_version: "15.2.0" - validate-package-swift: From bd81922ebbfb92ee9f0bc2d667854158be018fbd Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 18:25:02 +0100 Subject: [PATCH 11/12] add name for steps --- .circleci/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 99918be70b..dfe1b5127b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1367,10 +1367,13 @@ workflows: - run-revenuecat-ui-ios-18 - emerge_purchases_ui_snapshot_tests - validate-package-swift: + name: validate-package-swift-5.7 xcode_version: "14.0.1" - validate-package-swift: - xcode_version: "15.2.0" + name: validate-package-swift-5.8 + xcode_version: "14.3.1" - validate-package-swift: + name: validate-package-swift-5.9 xcode_version: "16.0.0" create-tag: when: From 774dc6f269f3bdf35056da4f903c3edd4ed15a52 Mon Sep 17 00:00:00 2001 From: Facundo Menzella Date: Wed, 22 Jan 2025 18:32:27 +0100 Subject: [PATCH 12/12] leave only 5.7 and 5.8 --- .circleci/config.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dfe1b5127b..d8d6867e39 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1360,21 +1360,19 @@ workflows: - not: << pipeline.parameters.generate_revenuecatui_snapshots >> jobs: - lint - - run-test-ios-17 - - run-test-ios-18 - - pod-lib-lint - - run-revenuecat-ui-ios-17 - - run-revenuecat-ui-ios-18 - - emerge_purchases_ui_snapshot_tests - validate-package-swift: name: validate-package-swift-5.7 xcode_version: "14.0.1" - validate-package-swift: name: validate-package-swift-5.8 xcode_version: "14.3.1" - - validate-package-swift: - name: validate-package-swift-5.9 - xcode_version: "16.0.0" + - run-test-ios-17 + - run-test-ios-18 + - pod-lib-lint + - run-revenuecat-ui-ios-17 + - run-revenuecat-ui-ios-18 + - emerge_purchases_ui_snapshot_tests + create-tag: when: and: