-
-
Notifications
You must be signed in to change notification settings - Fork 26
138 lines (117 loc) · 3.33 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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# GitHub Actions Virtual Environments
# https://github.com/actions/virtual-environments/
name: CI
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
env:
PROJECT: Foil.xcodeproj
SCHEME: Foil
EXAMPLE_PROJECT: Example/ExampleApp.xcodeproj
EXAMPLE_SCHEME: ExampleApp
DEVELOPER_DIR: /Applications/Xcode_16.0.app/Contents/Developer
IOS_DEST: "platform=iOS Simulator,name=iPhone 16,OS=latest"
TVOS_DEST: "platform=tvOS Simulator,name=Apple TV,OS=latest"
WATCHOS_DEST: "platform=watchOS Simulator,name=Apple Watch Series 10 (42mm),OS=latest"
VISIONOS_DEST: "platform=visionOS Simulator,name=Apple Vision Pro,OS=latest"
MACOS_DEST: "platform=macOS,arch=x86_64"
jobs:
env-details:
name: Environment details
runs-on: macos-15
steps:
- name: xcode version
run: xcodebuild -version -sdk
- name: list simulators
run: |
xcrun simctl delete unavailable
xcrun simctl list
test-iOS:
name: iOS unit test
runs-on: macos-15
steps:
- name: git checkout
uses: actions/checkout@v4
- name: unit tests
run: |
set -o pipefail
xcodebuild clean test \
-project "$PROJECT" \
-scheme "$SCHEME" \
-destination "$IOS_DEST" \
CODE_SIGN_IDENTITY="-" | xcpretty -c
test-tvOS:
name: tvOS unit test
runs-on: macos-15
steps:
- name: git checkout
uses: actions/checkout@v4
- name: unit tests
run: |
set -o pipefail
xcodebuild clean test \
-project "$PROJECT" \
-scheme "$SCHEME" \
-destination "$TVOS_DEST" \
CODE_SIGN_IDENTITY="-" | xcpretty -c
test-watchOS:
name: watchOS unit test
runs-on: macos-15
steps:
- name: git checkout
uses: actions/checkout@v4
- name: test
run: |
set -o pipefail
xcodebuild clean test \
-project "$PROJECT" \
-scheme "$SCHEME" \
-destination "$WATCHOS_DEST" \
CODE_SIGN_IDENTITY="-" | xcpretty -c
test-visionOS:
name: visionOS unit test
runs-on: macos-15
steps:
- name: git checkout
uses: actions/checkout@v4
- name: test
run: |
set -o pipefail
xcodebuild clean test \
-project "$PROJECT" \
-scheme "$SCHEME" \
-destination "$VISIONOS_DEST" \
CODE_SIGN_IDENTITY="-" | xcpretty -c
test-macOS:
name: macOS unit test
runs-on: macos-15
steps:
- name: git checkout
uses: actions/checkout@v4
- name: unit tests
run: |
set -o pipefail
xcodebuild clean test \
-project "$PROJECT" \
-scheme "$SCHEME" \
-destination "$MACOS_DEST" \
CODE_SIGN_IDENTITY="-" | xcpretty -c
build-example:
name: build example project
runs-on: macos-15
steps:
- name: git checkout
uses: actions/checkout@v4
- name: build
run: |
set -o pipefail
xcodebuild clean build \
-project "$EXAMPLE_PROJECT" \
-scheme "$EXAMPLE_SCHEME" \
-destination "$IOS_DEST" \
CODE_SIGN_IDENTITY="-" | xcpretty -c