Use convenience withLock APIs in DataCache #1368
This file contains hidden or 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 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 |