Nuke 13 – Swift 6 #1247
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 17.4, Xcode 15.3) | |
runs-on: macOS-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: | | |
.scripts/test.sh -s "Nuke" -d "OS=17.4,name=iPhone 15 Pro" | |
.scripts/test.sh -s "NukeUI" -d "OS=17.4,name=iPhone 15 Pro" | |
.scripts/test.sh -s "NukeExtensions" -d "OS=17.4,name=iPhone 15 Pro" | |
macos-latest: | |
name: Unit Tests (macOS, Xcode 15.3) | |
runs-on: macOS-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.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 17.4, Xcode 15.3) | |
runs-on: macOS-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: | | |
.scripts/test.sh -s "Nuke" -d "OS=17.4,name=Apple TV" | |
.scripts/test.sh -s "NukeUI" -d "OS=17.4,name=Apple TV" | |
.scripts/test.sh -s "NukeExtensions" -d "OS=17.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-3-1: | |
name: Unit Tests (iOS 17.0, Xcode 15.0) | |
runs-on: macOS-13 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.0.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: | | |
.scripts/test.sh -s "Nuke" -d "OS=17.0,name=iPhone 15 Pro" | |
.scripts/test.sh -s "NukeUI" -d "OS=17.0,name=iPhone 15 Pro" | |
.scripts/test.sh -s "NukeExtensions" -d "OS=17.0,name=iPhone 15 Pro" | |
ios-thread-safety: | |
name: Thread Safety Tests (TSan Enabled) | |
runs-on: macOS-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: .scripts/test.sh -s "Nuke Thread Safety Tests" -d "OS=17.4,name=iPhone 15 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-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.app/Contents/Developer | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Tests | |
run: .scripts/test.sh -s "Nuke Performance Tests" -d "OS=17.4,name=iPhone 15 Pro" | |
swift-build: | |
name: Swift Build (SPM) | |
runs-on: macOS-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.3.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/*" | |