Skip to content

Fix “unrecognized selector sent to instance” crash in transition on iOS < 17 #1199

Fix “unrecognized selector sent to instance” crash in transition on iOS < 17

Fix “unrecognized selector sent to instance” crash in transition on iOS < 17 #1199

Workflow file for this run

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 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"
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/*"