-
Notifications
You must be signed in to change notification settings - Fork 8
122 lines (105 loc) · 4.06 KB
/
build.yml
File metadata and controls
122 lines (105 loc) · 4.06 KB
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: Build Raygun4Apple
on:
push:
branches: [ master ]
pull_request:
workflow_dispatch:
jobs:
validate-cocoapods:
name: Validate Podspec
runs-on: macos-15
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Select Xcode version
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Install CocoaPods
run: gem install cocoapods
- name: Validate Podspec
run: pod lib lint --allow-warnings
build-xcframework:
name: Build XCFramework
runs-on: macos-15
needs: [validate-cocoapods]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Select Xcode version
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Build iOS Framework (Device)
run: |
xcodebuild archive \
-project raygun4apple.xcodeproj \
-scheme raygun4apple-iOS \
-destination "generic/platform=iOS" \
-archivePath "build/ios-device" \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
CODE_SIGNING_ALLOWED=NO
- name: Build iOS Framework (Simulator)
run: |
xcodebuild archive \
-project raygun4apple.xcodeproj \
-scheme raygun4apple-iOS \
-destination "generic/platform=iOS Simulator" \
-archivePath "build/ios-simulator" \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
CODE_SIGNING_ALLOWED=NO
- name: Build macOS Framework
run: |
xcodebuild archive \
-project raygun4apple.xcodeproj \
-scheme raygun4apple-macOS \
-destination "generic/platform=macOS" \
-archivePath "build/macos" \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
CODE_SIGNING_ALLOWED=NO
- name: Build tvOS Framework (Device)
run: |
xcodebuild archive \
-project raygun4apple.xcodeproj \
-scheme raygun4apple-tvOS \
-destination "generic/platform=tvOS" \
-archivePath "build/tvos-device" \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
CODE_SIGNING_ALLOWED=NO
- name: Build tvOS Framework (Simulator)
run: |
xcodebuild archive \
-project raygun4apple.xcodeproj \
-scheme raygun4apple-tvOS \
-destination "generic/platform=tvOS Simulator" \
-archivePath "build/tvos-simulator" \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
CODE_SIGNING_ALLOWED=NO
- name: Create iOS XCFramework
run: |
xcodebuild -create-xcframework \
-framework build/ios-device.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
-framework build/ios-simulator.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
-output build/raygun4apple-iOS.xcframework
- name: Create macOS XCFramework
run: |
xcodebuild -create-xcframework \
-framework build/macos.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
-output build/raygun4apple-macOS.xcframework
- name: Create tvOS XCFramework
run: |
xcodebuild -create-xcframework \
-framework build/tvos-device.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
-framework build/tvos-simulator.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
-output build/raygun4apple-tvOS.xcframework
- name: Package XCFramework
run: |
cd build
zip -r raygun4apple-xcframework.zip raygun4apple-iOS.xcframework raygun4apple-macOS.xcframework raygun4apple-tvOS.xcframework
- name: Upload XCFramework
uses: actions/upload-artifact@v4
with:
name: raygun4apple-xcframework
path: build/raygun4apple-xcframework.zip
retention-days: 30