-
-
Notifications
You must be signed in to change notification settings - Fork 529
123 lines (120 loc) · 4.1 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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/*"