main
yml 146 lines 3.55 KB
Raw
1 name: CI
2
3 on:
4 pull_request:
5 push:
6 branches:
7 - main
8 - feature/**
9
10 jobs:
11 content-validation:
12 name: Validate bundled content
13 runs-on: ubuntu-latest
14
15 steps:
16 - name: Checkout
17 uses: actions/checkout@v6
18
19 - name: Validate bundled content
20 run: python3 Scripts/validate_content.py
21
22 snapshot-tests:
23 name: Snapshot tests
24 runs-on: macos-26
25
26 steps:
27 - name: Checkout
28 uses: actions/checkout@v6
29
30 - name: Install XcodeGen
31 run: brew install xcodegen
32
33 - name: Generate project
34 run: xcodegen generate
35
36 - name: Resolve Swift packages
37 run: xcodebuild -project Klepon.xcodeproj -scheme Klepon -resolvePackageDependencies
38
39 - name: Run snapshot tests
40 run: |
41 xcodebuild test \
42 -project Klepon.xcodeproj \
43 -scheme Klepon \
44 -destination 'platform=iOS Simulator,OS=26.2,name=iPhone 17' \
45 -only-testing:KleponSnapshotTests \
46 CODE_SIGNING_ALLOWED=NO
47
48 macos-build:
49 name: macOS app build
50 runs-on: macos-26
51
52 steps:
53 - name: Checkout
54 uses: actions/checkout@v6
55
56 - name: Install XcodeGen
57 run: brew install xcodegen
58
59 - name: Generate project
60 run: xcodegen generate
61
62 - name: Resolve Swift packages
63 run: xcodebuild -project Klepon.xcodeproj -scheme 'Klepon Mac' -resolvePackageDependencies
64
65 - name: Build macOS app
66 run: |
67 xcodebuild build \
68 -project Klepon.xcodeproj \
69 -scheme 'Klepon Mac' \
70 -destination 'platform=macOS' \
71 CODE_SIGNING_ALLOWED=NO
72
73 tvos-build:
74 name: tvOS app build
75 runs-on: macos-26
76
77 steps:
78 - name: Checkout
79 uses: actions/checkout@v6
80
81 - name: Install XcodeGen
82 run: brew install xcodegen
83
84 - name: Generate project
85 run: xcodegen generate
86
87 - name: Resolve Swift packages
88 run: xcodebuild -project Klepon.xcodeproj -scheme 'Klepon TV' -resolvePackageDependencies
89
90 - name: Build tvOS app
91 run: |
92 xcodebuild build \
93 -project Klepon.xcodeproj \
94 -scheme 'Klepon TV' \
95 -destination 'generic/platform=tvOS Simulator' \
96 CODE_SIGNING_ALLOWED=NO
97
98 visionos-build:
99 name: visionOS app build
100 runs-on: macos-26
101
102 steps:
103 - name: Checkout
104 uses: actions/checkout@v6
105
106 - name: Install XcodeGen
107 run: brew install xcodegen
108
109 - name: Generate project
110 run: xcodegen generate
111
112 - name: Resolve Swift packages
113 run: xcodebuild -project Klepon.xcodeproj -scheme 'Klepon Vision' -resolvePackageDependencies
114
115 - name: Build visionOS app
116 run: |
117 xcodebuild build \
118 -project Klepon.xcodeproj \
119 -scheme 'Klepon Vision' \
120 -destination 'generic/platform=visionOS Simulator' \
121 CODE_SIGNING_ALLOWED=NO
122
123 watchos-build:
124 name: watchOS app build
125 runs-on: macos-26
126
127 steps:
128 - name: Checkout
129 uses: actions/checkout@v6
130
131 - name: Install XcodeGen
132 run: brew install xcodegen
133
134 - name: Generate project
135 run: xcodegen generate
136
137 - name: Resolve Swift packages
138 run: xcodebuild -project Klepon.xcodeproj -scheme 'Klepon Watch' -resolvePackageDependencies
139
140 - name: Build watchOS app
141 run: |
142 xcodebuild build \
143 -project Klepon.xcodeproj \
144 -scheme 'Klepon Watch' \
145 -destination 'generic/platform=watchOS Simulator' \
146 CODE_SIGNING_ALLOWED=NO