Merge pull request #752 from zachwaugh/visionos-support #1082
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: "Nuke CI" | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
ios-latest: | |
name: Unit Tests (iOS 16.4, Xcode 14.3.1) | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: | | |
Scripts/test.sh -s "Nuke" -d "OS=16.4,name=iPhone 14 Pro" | |
Scripts/test.sh -s "NukeUI" -d "OS=16.4,name=iPhone 14 Pro" | |
Scripts/test.sh -s "NukeExtensions" -d "OS=16.4,name=iPhone 14 Pro" | |
macos-latest: | |
name: Unit Tests (macOS, Xcode 14.3.1) | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: | | |
Scripts/test.sh -s "Nuke" -d "platform=macOS" | |
Scripts/test.sh -s "NukeUI" -d "platform=macOS" | |
Scripts/test.sh -s "NukeExtensions" -d "platform=macOS" | |
tvos-latest: | |
name: Unit Tests (tvOS 16.4, Xcode 14.3.1) | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: | | |
Scripts/test.sh -s "Nuke" -d "OS=16.4,name=Apple TV" | |
Scripts/test.sh -s "NukeUI" -d "OS=16.4,name=Apple TV" | |
Scripts/test.sh -s "NukeExtensions" -d "OS=16.4,name=Apple TV" | |
# There is a problem with watchOS runners where they often fail to launch on CI | |
# | |
# watchos-latest: | |
# name: Unit Tests (watchOS 9.1, Xcode 14.1) | |
# runs-on: macOS-13 | |
# env: | |
# DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - name: Run Tests | |
# run: | | |
# Scripts/test.sh -s "Nuke" -d "OS=9.1,name=Apple Watch Series 8 (45mm)" | |
# Scripts/test.sh -s "NukeUI" -d "OS=9.1,name=Apple Watch Series 8 (45mm)" | |
# Scripts/test.sh -s "Nuke Extensions" -d "OS=9.1,name=Apple Watch Series 8 (45mm)" | |
ios-xcode-14-1: | |
name: Unit Tests (iOS 16.1, Xcode 14.1) | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: | | |
Scripts/test.sh -s "Nuke" -d "OS=16.1,name=iPhone 14 Pro" | |
Scripts/test.sh -s "NukeUI" -d "OS=16.1,name=iPhone 14 Pro" | |
Scripts/test.sh -s "NukeExtensions" -d "OS=16.1,name=iPhone 14 Pro" | |
ios-thread-safety: | |
name: Thread Safety Tests (TSan Enabled) | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: Scripts/test.sh -s "Nuke Thread Safety Tests" -d "OS=16.4,name=iPhone 14 Pro" | |
# ios-memory-management-tests: | |
# name: Memory Management Tests | |
# runs-on: macOS-13 | |
# env: | |
# DEVELOPER_DIR: /Applications/Xcode_13.0.app/Contents/Developer | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - name: Run Tests | |
# run: Scripts/test.sh -s "Nuke Memory Management Tests" -d "OS=14.4,name=iPhone 12 Pro" | |
ios-performance-tests: | |
name: Performance Tests | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: Scripts/test.sh -s "Nuke Performance Tests" -d "OS=16.4,name=iPhone 14 Pro" | |
swift-build: | |
name: Swift Build (SPM) | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build | |
run: swift build | |
discover-typos: | |
name: Discover Typos | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Discover typos | |
run: | | |
export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.11/bin" | |
python3 -m pip install --upgrade pip | |
python3 -m pip install codespell | |
codespell --ignore-words-list="hart,inout,msdos,sur" --skip="./.build/*" | |