From d9105288a5461ee6bab99090b2173fd194f94731 Mon Sep 17 00:00:00 2001 From: Dan Federman Date: Mon, 22 Apr 2024 21:57:01 -0700 Subject: [PATCH 1/5] Get CI running Xcode 14 --- .github/workflows/ci.yml | 22 ++++++++++++++++++++++ Scripts/build.swift | 6 +++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 495f9dde..8bc90715 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,6 +80,28 @@ jobs: - name: Upload Coverage Reports if: success() run: Scripts/upload-coverage-reports.sh ${{ matrix.platforms }} + xcode-build-15: + name: Xcode 15 Build + runs-on: macOS-14 + strategy: + matrix: + platforms: [ + 'iOS_17,tvOS_17,watchOS_10', + ] + fail-fast: false + timeout-minutes: 30 + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + - name: Bundle Install + run: bundle install + - name: Select Xcode Version + run: sudo xcode-select --switch /Applications/Xcode_15.3.app/Contents/Developer + - name: Build and Test Framework + run: Scripts/build.swift ${{ matrix.platforms }} xcode + - name: Upload Coverage Reports + if: success() + run: Scripts/upload-coverage-reports.sh ${{ matrix.platforms }} pod-lint: name: Pod Lint runs-on: macOS-14 diff --git a/Scripts/build.swift b/Scripts/build.swift index 8d615a76..7a14c9aa 100755 --- a/Scripts/build.swift +++ b/Scripts/build.swift @@ -52,7 +52,7 @@ enum Platform: String, CustomStringConvertible { case .iOS_16: return "platform=iOS Simulator,OS=16.4,name=iPad Pro (12.9-inch) (6th generation)" case .iOS_17: - return "platform=iOS Simulator,OS=17.0,name=iPad Pro (12.9-inch) (6th generation)" + return "platform=iOS Simulator,OS=17.4,name=iPad Pro (12.9-inch) (6th generation)" case .tvOS_13: return "platform=tvOS Simulator,OS=13.4,name=Apple TV" @@ -63,7 +63,7 @@ enum Platform: String, CustomStringConvertible { case .tvOS_16: return "platform=tvOS Simulator,OS=16.4,name=Apple TV" case .tvOS_17: - return "platform=tvOS Simulator,OS=17.0,name=Apple TV" + return "platform=tvOS Simulator,OS=17.4,name=Apple TV" case .macOS_11, .macOS_12, @@ -80,7 +80,7 @@ enum Platform: String, CustomStringConvertible { case .watchOS_9: return "OS=9.4,name=Apple Watch Series 6 - 44mm" case .watchOS_10: - return "OS=10.0,name=Apple Watch Series 6 - 44mm" + return "OS=10.4,name=Apple Watch Series 6 - 44mm" } } From 6c69ff8dbeecff88f3ed85c1804faae37f68a356 Mon Sep 17 00:00:00 2001 From: Dan Federman Date: Mon, 22 Apr 2024 22:00:42 -0700 Subject: [PATCH 2/5] Add SPM build too --- .github/workflows/ci.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8bc90715..ab397cfe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -204,3 +204,25 @@ jobs: run: Scripts/github/prepare-simulators.sh ${{ matrix.platforms }} - name: Build Framework run: Scripts/build.swift ${{ matrix.platforms }} spm + spm-14: + name: SPM Build macOS 14 + runs-on: macOS-14 + strategy: + matrix: + platforms: [ + 'iOS_17,tvOS_17,watchOS_10', + 'macOS_14', + ] + fail-fast: false + timeout-minutes: 30 + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + - name: Bundle Install + run: bundle install + - name: Select Xcode Version + run: sudo xcode-select --switch /Applications/Xcode_15.3.app/Contents/Developer + - name: Prepare Simulator Runtimes + run: Scripts/github/prepare-simulators.sh ${{ matrix.platforms }} + - name: Build Framework + run: Scripts/build.swift ${{ matrix.platforms }} spm From d3edbf94c10a56836135c3a8e353ed04e62d3647 Mon Sep 17 00:00:00 2001 From: Dan Federman Date: Mon, 22 Apr 2024 22:01:18 -0700 Subject: [PATCH 3/5] Use checkout@v4 --- .github/workflows/ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ab397cfe..b6bd7944 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -48,7 +48,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -70,7 +70,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -92,7 +92,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -108,7 +108,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -121,7 +121,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -144,7 +144,7 @@ jobs: fail-fast: false steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -173,7 +173,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -195,7 +195,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version @@ -217,7 +217,7 @@ jobs: timeout-minutes: 30 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Bundle Install run: bundle install - name: Select Xcode Version From 3ac10c8053b9e401a2eceae5e3a0586e04a058c5 Mon Sep 17 00:00:00 2001 From: Dan Federman Date: Mon, 22 Apr 2024 22:05:27 -0700 Subject: [PATCH 4/5] Get Carthage build on Xcode 15 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6bd7944..88c2723b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,7 +117,7 @@ jobs: run: bundle exec pod lib lint --verbose --fail-fast --swift-version=5.4 carthage: name: Carthage - runs-on: macOS-13 + runs-on: macOS-14 timeout-minutes: 30 steps: - name: Checkout Repo @@ -125,7 +125,7 @@ jobs: - name: Bundle Install run: bundle install - name: Select Xcode Version - run: sudo xcode-select --switch /Applications/Xcode_14.3.app/Contents/Developer + run: sudo xcode-select --switch /Applications/Xcode_15.3.app/Contents/Developer - name: Install Carthage run: brew outdated carthage || brew upgrade carthage - name: Build Framework From fba586a95d135e626fd1975942aea67d84596298 Mon Sep 17 00:00:00 2001 From: Dan Federman Date: Mon, 22 Apr 2024 22:12:00 -0700 Subject: [PATCH 5/5] Use Xcode 15 and macOS-14 when possible --- .github/workflows/ci.yml | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88c2723b..41a9804c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,34 +58,13 @@ jobs: - name: Upload Coverage Reports if: success() run: Scripts/upload-coverage-reports.sh ${{ matrix.platforms }} - xcode-build-14: - name: Xcode 14 Build - runs-on: macOS-13 - strategy: - matrix: - platforms: [ - 'iOS_16,tvOS_16,watchOS_9', - ] - fail-fast: false - timeout-minutes: 30 - steps: - - name: Checkout Repo - uses: actions/checkout@v4 - - name: Bundle Install - run: bundle install - - name: Select Xcode Version - run: sudo xcode-select --switch /Applications/Xcode_14.3.app/Contents/Developer - - name: Build and Test Framework - run: Scripts/build.swift ${{ matrix.platforms }} xcode - - name: Upload Coverage Reports - if: success() - run: Scripts/upload-coverage-reports.sh ${{ matrix.platforms }} xcode-build-15: name: Xcode 15 Build runs-on: macOS-14 strategy: matrix: platforms: [ + 'iOS_16,tvOS_16,watchOS_9', 'iOS_17,tvOS_17,watchOS_10', ] fail-fast: false