Add visionOS Support (#469) #148
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "AlamofireImage CI" | |
on: | |
push: | |
branches: | |
- master | |
- hotfix | |
paths: | |
- ".github/workflows/**" | |
- "Package.swift" | |
- "Source/**" | |
- "Tests/**" | |
pull_request: | |
paths: | |
- ".github/workflows/**" | |
- "Package.swift" | |
- "Source/**" | |
- "Tests/**" | |
concurrency: | |
group: ${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
macOS: | |
name: Test macOS, All Xcodes and Swifts | |
runs-on: ${{ matrix.runsOn }} | |
env: | |
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}/Contents/Developer" | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- xcode: "Xcode_14.3.1.app" | |
runsOn: macOS-13 | |
name: "macOS 13, Xcode 14.3, Swift 5.8.0" | |
testPlan: "macOS" | |
- xcode: "Xcode_14.2.app" | |
runsOn: macOS-12 | |
name: "macOS 12, Xcode 14.2, Swift 5.7.2" | |
testPlan: "macOS" | |
- xcode: "Xcode_14.1.app" | |
runsOn: macOS-12 | |
name: "macOS 12, Xcode 14.1, Swift 5.7.1" | |
testPlan: "macOS" | |
- xcode: "Xcode_14.0.1.app" | |
runsOn: macOS-12 | |
name: "macOS 12, Xcode 14.0.1, Swift 5.7.0" | |
testPlan: "macOS" | |
- xcode: "Xcode_13.4.1.app" | |
runsOn: macOS-12 | |
name: "macOS 12, Xcode 13.4.1, Swift 5.6.1" | |
testPlan: "macOS-NoTS" | |
- xcode: "Xcode_13.3.1.app" | |
runsOn: macOS-12 | |
name: "macOS 12, Xcode 13.3.1, Swift 5.6.0" | |
testPlan: "macOS-NoTS" | |
- xcode: "Xcode_13.2.1.app" | |
runsOn: macOS-11 | |
name: "macOS 11, Xcode 13.2.1, Swift 5.5.2" | |
testPlan: "macOS-NoTS" | |
- xcode: "Xcode_13.1.app" | |
runsOn: macOS-11 | |
name: "macOS 11, Xcode 13.1, Swift 5.5.1" | |
testPlan: "macOS-NoTS" | |
- xcode: "Xcode_13.0.app" | |
runsOn: macOS-11 | |
name: "macOS 11, Xcode 13.0, Swift 5.5.0" | |
testPlan: "macOS-NoTS" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Firewalk | |
run: "brew install alamofire/alamofire/firewalk && firewalk &" | |
- name: Dependencies | |
run: carthage bootstrap --no-build | |
- name: ${{ matrix.name }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "AlamofireImage.xcworkspace" -scheme "AlamofireImage macOS" -destination "platform=macOS" clean build | xcpretty | |
Catalyst: | |
name: Test Catalyst | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Firewalk | |
run: brew install alamofire/alamofire/firewalk && firewalk & | |
- name: Dependencies | |
run: carthage bootstrap --no-build | |
- name: Catalyst | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "AlamofireImage.xcworkspace" -scheme "AlamofireImage iOS" -destination "platform=macOS" clean test | xcpretty | |
Latest: | |
name: Test Latest (iOS, tvOS, watchOS) | |
runs-on: firebreak | |
env: | |
DEVELOPER_DIR: "/Applications/Xcode_14.3.1.app/Contents/Developer" | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- destination: "OS=16.4,name=iPhone 14 Pro" | |
name: "iOS" | |
scheme: "AlamofireImage iOS" | |
- destination: "OS=16.4,name=Apple TV" | |
name: "tvOS" | |
scheme: "AlamofireImage tvOS" | |
- destination: "OS=9.4,name=Apple Watch Series 8 (45mm)" | |
name: "watchOS" | |
scheme: "AlamofireImage watchOS" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Firewalk | |
run: brew install alamofire/alamofire/firewalk && firewalk & | |
- name: Dependencies | |
run: carthage bootstrap --no-build | |
- name: ${{ matrix.name }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "AlamofireImage.xcworkspace" -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean test | xcpretty | |
iOS: | |
name: "Test Old iOS" | |
runs-on: firebreak | |
env: | |
DEVELOPER_DIR: "/Applications/Xcode_14.3.1.app/Contents/Developer" | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- destination: "OS=15.5,name=iPhone 13 Pro" | |
name: "iOS 15.5" | |
testPlan: "iOS-NoTS" | |
- destination: "OS=14.5,name=iPhone 12 Pro" | |
name: "iOS 14.5" | |
testPlan: "iOS-NoTS" | |
# - destination: "OS=13.7,name=iPhone 11 Pro" | |
# name: "iOS 13.7" | |
# testPlan: "iOS-NoTS" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Firewalk | |
run: brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk && firewalk & | |
- name: Dependencies | |
run: carthage bootstrap --no-build | |
- name: ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "AlamofireImage.xcworkspace" -scheme "AlamofireImage iOS" -destination "${{ matrix.destination }}" -testPlan "${{ matrix.testPlan }}" clean test | xcpretty | |
Beta: | |
name: "Test Beta OSes" | |
runs-on: firebreak | |
env: | |
DEVELOPER_DIR: "/Applications/Xcode_15.0.app/Contents/Developer" | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- destination: "OS=17.0,name=iPhone 14 Pro" | |
name: "iOS 17.0" | |
testPlan: "iOS" | |
scheme: "AlamofireImage iOS" | |
- destination: "OS=1.0,name=Apple Vision Pro" | |
name: "visionOS 1.0" | |
testPlan: "visionOS" | |
scheme: "AlamofireImage visionOS" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Firewalk | |
run: brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk && firewalk & | |
- name: Dependencies | |
run: carthage bootstrap --no-build | |
- name: ${{ matrix.name }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "AlamofireImage.xcworkspace" -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" -testPlan "${{ matrix.testPlan }}" clean test | xcpretty | |
tvOS: | |
name: Test Old tvOS | |
runs-on: firebreak | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- destination: "OS=15.4,name=Apple TV" | |
name: "tvOS 15.4" | |
testPlan: "tvOS-NoTS" | |
- destination: "OS=14.5,name=Apple TV" | |
name: "tvOS 14.5" | |
testPlan: "tvOS-NoTS" | |
# - destination: "OS=13.4,name=Apple TV" | |
# name: "tvOS 13.4" | |
# testPlan: "tvOS-NoTS" | |
# - destination: "OS=12.4,name=Apple TV" | |
# name: "tvOS 12.4" | |
# testPlan: "tvOS-Old" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Firewalk | |
run: brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk && firewalk & | |
- name: Dependencies | |
run: carthage bootstrap --no-build | |
- name: ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "AlamofireImage.xcworkspace" -scheme "AlamofireImage tvOS" -destination "${{ matrix.destination }}" -testPlan "${{ matrix.testPlan }}" clean test | xcpretty | |
watchOS: | |
name: Test watchOS | |
runs-on: firebreak | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- destination: "OS=8.5,name=Apple Watch Series 7 (45mm)" | |
name: "watchOS 8.5" | |
testPlan: "watchOS-NoTS" | |
- destination: "OS=7.4,name=Apple Watch Series 6 (44mm)" | |
name: "watchOS 7.4" | |
testPlan: "watchOS-NoTS" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Firewalk | |
run: brew install alamofire/alamofire/firewalk && firewalk & | |
- name: Dependencies | |
run: carthage bootstrap --no-build | |
- name: ${{ matrix.destination }} | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace "AlamofireImage.xcworkspace" -scheme "AlamofireImage watchOS" -destination "${{ matrix.destination }}" -testPlan "${{ matrix.testPlan }}" clean test | xcpretty | |
SPM: | |
name: Build SPM | |
runs-on: ${{ matrix.runsOn }} | |
env: | |
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- xcode: "Xcode_14.3.1" | |
runsOn: macOS-13 | |
name: "macOS 13, SPM 5.8.0 Test" | |
- xcode: "Xcode_14.2" | |
runsOn: macOS-12 | |
name: "macOS 12, SPM 5.7.2 Test" | |
- xcode: "Xcode_14.1" | |
runsOn: macOS-12 | |
name: "macOS 12, SPM 5.7.1 Test" | |
- xcode: "Xcode_14.0.1" | |
runsOn: macOS-12 | |
name: "macOS 12, SPM 5.7.0 Test" | |
- xcode: "Xcode_13.4.1" | |
runsOn: macOS-12 | |
name: "macOS 12, SPM 5.6.1 Test" | |
- xcode: "Xcode_13.3.1" | |
runsOn: macOS-12 | |
name: "macOS 12, SPM 5.6.0 Test" | |
- xcode: "Xcode_13.2.1" | |
runsOn: macOS-11 | |
name: "macOS 11, SPM 5.5.2 Test" | |
- xcode: "Xcode_13.1" | |
runsOn: macOS-11 | |
name: "macOS 11, SPM 5.5.1 Test" | |
- xcode: "Xcode_13.0" | |
runsOn: macOS-11 | |
name: "macOS 11, SPM 5.5.0 Test" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Firewalk | |
run: brew install alamofire/alamofire/firewalk && firewalk & | |
- name: Test SPM | |
run: swift build -c debug |