Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
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-26
xcode:
- Xcode_15.2
- Xcode_26.0
destination:
- '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_26.0
# Don't run new macOS with old Xcode
- 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:
- 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-swift-opentelemetry \
-destination '${{ matrix.destination }}' \
test 2>&1 \
| xcbeautify


4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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: [
Expand Down