From e1738b51198fa96c323fbc3676e9252b2a56a362 Mon Sep 17 00:00:00 2001 From: Dan Federman <dfed@me.com> Date: Tue, 23 Apr 2024 08:31:42 -0700 Subject: [PATCH] Get CI running Xcode 15 (#310) * Get CI running Xcode 14 * Add SPM build too * Use checkout@v4 * Get Carthage build on Xcode 15 * Use Xcode 15 and macOS-14 when possible --- .github/workflows/ci.yml | 51 +++++++++++++++++++++++++++++----------- Scripts/build.swift | 6 ++--- 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 495f9dde..41a9804c 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 @@ -58,23 +58,24 @@ 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 + 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 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 - 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: Build and Test Framework run: Scripts/build.swift ${{ matrix.platforms }} xcode - name: Upload Coverage Reports @@ -86,7 +87,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 @@ -95,15 +96,15 @@ 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 - uses: actions/checkout@v3 + 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 + 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 @@ -122,7 +123,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 @@ -151,7 +152,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 @@ -173,7 +174,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 @@ -182,3 +183,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@v4 + - 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 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" } }