Skip to content

Use convenience withLock APIs in DataCache #1368

Use convenience withLock APIs in DataCache

Use convenience withLock APIs in DataCache #1368

Workflow file for this run

name: "Nuke CI"
on:
push:
branches:
- main
pull_request:
branches:
- '*'
jobs:
ios-latest:
name: Unit Tests (iOS 26.2, Xcode 26.2)
runs-on: macOS-26
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
steps:
- uses: actions/checkout@v2
- name: Run Tests
run: |
.scripts/test.sh -s "Nuke" -d "OS=26.2,name=iPhone 17 Pro"
.scripts/test.sh -s "NukeUI" -d "OS=26.2,name=iPhone 17 Pro"
.scripts/test.sh -s "NukeExtensions" -d "OS=26.2,name=iPhone 17 Pro"
macos-latest:
name: Unit Tests (macOS, Xcode 26.2)
runs-on: macOS-26
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.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 26.2, Xcode 26.2)
runs-on: macOS-26
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
steps:
- uses: actions/checkout@v2
- name: Run Tests
run: |
.scripts/test.sh -s "Nuke" -d "OS=26.2,name=Apple TV"
.scripts/test.sh -s "NukeUI" -d "OS=26.2,name=Apple TV"
.scripts/test.sh -s "NukeExtensions" -d "OS=26.2,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 "NukeExtensions" -d "OS=9.1,name=Apple Watch Series 8 (45mm)"
# Nuke 13.0 supports only the latest version of Xcode (16).
#
# 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-26
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
steps:
- uses: actions/checkout@v2
- name: Run Tests
run: .scripts/test.sh -s "NukeThreadSafetyTests" -d "OS=26.2,name=iPhone 17 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 "NukeMemoryManagementTests" -d "OS=14.4,name=iPhone 12 Pro"
ios-performance-tests:
name: Performance Tests
runs-on: macOS-26
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
steps:
- uses: actions/checkout@v2
- name: Run Tests
run: .scripts/test.sh -s "NukePerformanceTests" -d "OS=26.2,name=iPhone 17 Pro"
swift-build:
name: Swift Build (SPM)
runs-on: macOS-26
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
steps:
- uses: actions/checkout@v2
- name: Build
run: swift build