From f41501172e6984c89e84ba79a051effd5d2fec91 Mon Sep 17 00:00:00 2001 From: David Yaffe Date: Mon, 8 Dec 2025 12:54:49 -0500 Subject: [PATCH 1/5] adjust version + add CI --- .github/workflows/ci.yml | 83 ++++++++++++++++++++++++++++++++++++++++ Package.swift | 4 +- 2 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..cf6b5ce --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,83 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + workflow_dispatch: + +jobs: + apple: + runs-on: ${{ matrix.runner }} + strategy: + fail-fast: false + matrix: + runner: + - macos-14 + - macos-15 + xcode: + - Xcode_15.2 + - Xcode_16.0 + destination: + - 'platform=iOS Simulator,OS=17.2,name=iPhone 15' + - 'platform=iOS Simulator,OS=18.0,name=iPhone 16' + - 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' + - 'platform=tvOS Simulator,OS=18.0,name=Apple TV 4K (3rd generation) (at 1080p)' + - 'platform=visionOS Simulator,OS=1.0,name=Apple Vision Pro' + - 'platform=visionOS Simulator,OS=2.0,name=Apple Vision Pro' + - 'platform=macOS' + exclude: + # Don't run old macOS with new Xcode + - runner: macos-14 + xcode: Xcode_16.0 + # Don't run new macOS with old Xcode + - runner: macos-15 + xcode: Xcode_15.2 + # Don't run old simulators with new Xcode + - destination: 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' + xcode: Xcode_16.0 + - destination: 'platform=iOS Simulator,OS=17.2,name=iPhone 15' + xcode: Xcode_16.0 + - destination: 'platform=visionOS Simulator,OS=1.0,name=Apple Vision Pro' + xcode: Xcode_16.0 + # Don't run new simulators with old Xcode + - destination: 'platform=tvOS Simulator,OS=18.0,name=Apple TV 4K (3rd generation) (at 1080p)' + xcode: Xcode_15.2 + - destination: 'platform=iOS Simulator,OS=18.0,name=iPhone 16' + xcode: Xcode_15.2 + - destination: 'platform=visionOS Simulator,OS=2.0,name=Apple Vision Pro' + xcode: Xcode_15.2 + + steps: + - name: Configure Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Cache Swift + uses: actions/cache@v4 + with: + path: | + ~/Library/Caches/org.swift.swiftpm + ~/.cache/org.swift.swiftpm + key: 1-${{ runner.os }}-${{ matrix.xcode }}-${{ hashFiles('Package.swift') }} + restore-keys: | + 1-${{ runner.os }}-${{ matrix.xcode }}-${{ hashFiles('Package.swift') }} + 1-${{ runner.os }}-${{ matrix.xcode }}- + + - name: Tools Versions + run: | + xcodebuild -version + swift --version + + - name: Build and Run Tests + run: | + set -o pipefail && \ + NSUnbufferedIO=YES xcodebuild \ + -scheme smithy-opentelemetry-Package \ + -destination '${{ matrix.destination }}' \ + test 2>&1 \ + | xcbeautify + + diff --git a/Package.swift b/Package.swift index 61a6fa2..f01d165 100644 --- a/Package.swift +++ b/Package.swift @@ -6,8 +6,8 @@ let package = Package( name: "smithy-swift-opentelemetry", platforms: [ .macOS(.v12), - .iOS(.v16), - .tvOS(.v16), + .iOS(.v13), + .tvOS(.v13), .watchOS(.v9), ], products: [ From ebd1ce831f1c9c77f5994a74a15ba4de48211edc Mon Sep 17 00:00:00 2001 From: David Yaffe Date: Mon, 8 Dec 2025 13:02:30 -0500 Subject: [PATCH 2/5] fix scheme name --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf6b5ce..46c3174 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,7 +75,7 @@ jobs: run: | set -o pipefail && \ NSUnbufferedIO=YES xcodebuild \ - -scheme smithy-opentelemetry-Package \ + -scheme smithy-swift-opentelemetry \ -destination '${{ matrix.destination }}' \ test 2>&1 \ | xcbeautify From c066461de5acb561601a33ae69f41d8f1232d49d Mon Sep 17 00:00:00 2001 From: David Yaffe Date: Mon, 8 Dec 2025 15:09:12 -0500 Subject: [PATCH 3/5] remove vision --- .github/workflows/ci.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 46c3174..569e37b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,8 +23,6 @@ jobs: - 'platform=iOS Simulator,OS=18.0,name=iPhone 16' - 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' - 'platform=tvOS Simulator,OS=18.0,name=Apple TV 4K (3rd generation) (at 1080p)' - - 'platform=visionOS Simulator,OS=1.0,name=Apple Vision Pro' - - 'platform=visionOS Simulator,OS=2.0,name=Apple Vision Pro' - 'platform=macOS' exclude: # Don't run old macOS with new Xcode @@ -38,15 +36,11 @@ jobs: xcode: Xcode_16.0 - destination: 'platform=iOS Simulator,OS=17.2,name=iPhone 15' xcode: Xcode_16.0 - - destination: 'platform=visionOS Simulator,OS=1.0,name=Apple Vision Pro' - xcode: Xcode_16.0 # Don't run new simulators with old Xcode - destination: 'platform=tvOS Simulator,OS=18.0,name=Apple TV 4K (3rd generation) (at 1080p)' xcode: Xcode_15.2 - destination: 'platform=iOS Simulator,OS=18.0,name=iPhone 16' xcode: Xcode_15.2 - - destination: 'platform=visionOS Simulator,OS=2.0,name=Apple Vision Pro' - xcode: Xcode_15.2 steps: - name: Configure Xcode From 0a5b4900af2550eaf07455b7906393c3038b3d67 Mon Sep 17 00:00:00 2001 From: David Yaffe Date: Mon, 8 Dec 2025 15:20:01 -0500 Subject: [PATCH 4/5] simplify CI --- .github/workflows/ci.yml | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 569e37b..630fef1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,10 +19,8 @@ jobs: - Xcode_15.2 - Xcode_16.0 destination: - - 'platform=iOS Simulator,OS=17.2,name=iPhone 15' - - 'platform=iOS Simulator,OS=18.0,name=iPhone 16' - - 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' - - 'platform=tvOS Simulator,OS=18.0,name=Apple TV 4K (3rd generation) (at 1080p)' + - 'platform=iOS Simulator,name=iPhone 15' + - 'platform=tvOS Simulator,name=Apple TV' - 'platform=macOS' exclude: # Don't run old macOS with new Xcode @@ -31,16 +29,6 @@ jobs: # Don't run new macOS with old Xcode - runner: macos-15 xcode: Xcode_15.2 - # Don't run old simulators with new Xcode - - destination: 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' - xcode: Xcode_16.0 - - destination: 'platform=iOS Simulator,OS=17.2,name=iPhone 15' - xcode: Xcode_16.0 - # Don't run new simulators with old Xcode - - destination: 'platform=tvOS Simulator,OS=18.0,name=Apple TV 4K (3rd generation) (at 1080p)' - xcode: Xcode_15.2 - - destination: 'platform=iOS Simulator,OS=18.0,name=iPhone 16' - xcode: Xcode_15.2 steps: - name: Configure Xcode From 5d2aab5f6a0a8b0bccb6efb1d9b195ff9097ca9d Mon Sep 17 00:00:00 2001 From: David Yaffe Date: Mon, 8 Dec 2025 15:43:28 -0500 Subject: [PATCH 5/5] fix versions --- .github/workflows/ci.yml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 630fef1..4b68be7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,20 +14,32 @@ jobs: matrix: runner: - macos-14 - - macos-15 + - macos-26 xcode: - Xcode_15.2 - - Xcode_16.0 + - Xcode_26.0 destination: - - 'platform=iOS Simulator,name=iPhone 15' - - 'platform=tvOS Simulator,name=Apple TV' + - 'platform=iOS Simulator,OS=17.2,name=iPhone 15' + - 'platform=iOS Simulator,OS=26.0.1,name=iPhone 17' + - 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' + - 'platform=tvOS Simulator,OS=26.0,name=Apple TV 4K (3rd generation) (at 1080p)' - 'platform=macOS' exclude: # Don't run old macOS with new Xcode - runner: macos-14 - xcode: Xcode_16.0 + xcode: Xcode_26.0 # Don't run new macOS with old Xcode - - runner: macos-15 + - runner: macos-26 + xcode: Xcode_15.2 + # Don't run old simulators with new Xcode + - destination: 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' + xcode: Xcode_26.0 + - destination: 'platform=iOS Simulator,OS=17.2,name=iPhone 15' + xcode: Xcode_26.0 + # Don't run new simulators with old Xcode + - destination: 'platform=tvOS Simulator,OS=26.0,name=Apple TV 4K (3rd generation) (at 1080p)' + xcode: Xcode_15.2 + - destination: 'platform=iOS Simulator,OS=26.0.1,name=iPhone 17' xcode: Xcode_15.2 steps: