Skip to content

Commit a4b3dfb

Browse files
Merge pull request #72 from MindscapeHQ/mr/ci
ci: Add GitHub workflow
2 parents da4bbb7 + 8640517 commit a4b3dfb

File tree

3 files changed

+166
-3
lines changed

3 files changed

+166
-3
lines changed

.github/workflows/build.yml

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
name: Build Raygun4Apple
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
workflow_dispatch:
8+
9+
jobs:
10+
validate-cocoapods:
11+
name: Validate Podspec
12+
runs-on: macos-15
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- name: Select Xcode version
18+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
19+
20+
- name: Install CocoaPods
21+
run: gem install cocoapods
22+
23+
- name: Validate Podspec
24+
run: pod lib lint --allow-warnings
25+
26+
build-ios-xcframework:
27+
name: Build iOS XCFramework
28+
runs-on: macos-15
29+
needs: [validate-cocoapods]
30+
steps:
31+
- name: Checkout code
32+
uses: actions/checkout@v4
33+
34+
- name: Select Xcode version
35+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
36+
37+
- name: Build iOS Framework (Device)
38+
run: |
39+
xcodebuild archive \
40+
-project raygun4apple.xcodeproj \
41+
-scheme raygun4apple-iOS \
42+
-destination "generic/platform=iOS" \
43+
-archivePath "build/ios-device" \
44+
SKIP_INSTALL=NO \
45+
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
46+
CODE_SIGNING_ALLOWED=NO \
47+
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
48+
49+
- name: Build iOS Framework (Simulator)
50+
run: |
51+
xcodebuild archive \
52+
-project raygun4apple.xcodeproj \
53+
-scheme raygun4apple-iOS \
54+
-destination "generic/platform=iOS Simulator" \
55+
-archivePath "build/ios-simulator" \
56+
SKIP_INSTALL=NO \
57+
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
58+
CODE_SIGNING_ALLOWED=NO \
59+
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
60+
61+
- name: Create iOS XCFramework
62+
run: |
63+
xcodebuild -create-xcframework \
64+
-framework build/ios-device.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
65+
-debug-symbols $(pwd)/build/ios-device.xcarchive/dSYMs/raygun4apple.framework.dSYM \
66+
-framework build/ios-simulator.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
67+
-debug-symbols $(pwd)/build/ios-simulator.xcarchive/dSYMs/raygun4apple.framework.dSYM \
68+
-output build/raygun4apple.xcframework
69+
70+
- name: Upload iOS XCFramework
71+
uses: actions/upload-artifact@v4
72+
with:
73+
name: raygun4apple-iOS-xcframework
74+
path: build/raygun4apple.xcframework
75+
retention-days: 30
76+
77+
build-macos-xcframework:
78+
name: Build macOS XCFramework
79+
runs-on: macos-15
80+
needs: [validate-cocoapods]
81+
steps:
82+
- name: Checkout code
83+
uses: actions/checkout@v4
84+
85+
- name: Select Xcode version
86+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
87+
88+
- name: Build macOS Framework
89+
run: |
90+
xcodebuild archive \
91+
-project raygun4apple.xcodeproj \
92+
-scheme raygun4apple-macOS \
93+
-destination "generic/platform=macOS" \
94+
-archivePath "build/macos" \
95+
SKIP_INSTALL=NO \
96+
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
97+
CODE_SIGNING_ALLOWED=NO \
98+
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
99+
100+
- name: Create macOS XCFramework
101+
run: |
102+
xcodebuild -create-xcframework \
103+
-framework build/macos.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
104+
-debug-symbols $(pwd)/build/macos.xcarchive/dSYMs/raygun4apple.framework.dSYM \
105+
-output build/raygun4apple.xcframework
106+
107+
- name: Upload macOS XCFramework
108+
uses: actions/upload-artifact@v4
109+
with:
110+
name: raygun4apple-macOS-xcframework
111+
path: build/raygun4apple.xcframework
112+
retention-days: 30
113+
114+
build-tvos-xcframework:
115+
name: Build tvOS XCFramework
116+
runs-on: macos-15
117+
needs: [validate-cocoapods]
118+
steps:
119+
- name: Checkout code
120+
uses: actions/checkout@v4
121+
122+
- name: Select Xcode version
123+
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
124+
125+
- name: Build tvOS Framework (Device)
126+
run: |
127+
xcodebuild archive \
128+
-project raygun4apple.xcodeproj \
129+
-scheme raygun4apple-tvOS \
130+
-destination "generic/platform=tvOS" \
131+
-archivePath "build/tvos-device" \
132+
SKIP_INSTALL=NO \
133+
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
134+
CODE_SIGNING_ALLOWED=NO \
135+
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
136+
137+
- name: Build tvOS Framework (Simulator)
138+
run: |
139+
xcodebuild archive \
140+
-project raygun4apple.xcodeproj \
141+
-scheme raygun4apple-tvOS \
142+
-destination "generic/platform=tvOS Simulator" \
143+
-archivePath "build/tvos-simulator" \
144+
SKIP_INSTALL=NO \
145+
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
146+
CODE_SIGNING_ALLOWED=NO \
147+
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
148+
149+
- name: Create tvOS XCFramework
150+
run: |
151+
xcodebuild -create-xcframework \
152+
-framework build/tvos-device.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
153+
-debug-symbols $(pwd)/build/tvos-device.xcarchive/dSYMs/raygun4apple.framework.dSYM \
154+
-framework build/tvos-simulator.xcarchive/Products/Library/Frameworks/raygun4apple.framework \
155+
-debug-symbols $(pwd)/build/tvos-simulator.xcarchive/dSYMs/raygun4apple.framework.dSYM \
156+
-output build/raygun4apple.xcframework
157+
158+
- name: Upload tvOS XCFramework
159+
uses: actions/upload-artifact@v4
160+
with:
161+
name: raygun4apple-tvOS-xcframework
162+
path: build/raygun4apple.xcframework
163+
retention-days: 30

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ let package = Package(
88
platforms: [
99
.iOS(.v10),
1010
.tvOS(.v10),
11-
.macOS(.v10_10)
11+
.macOS(.v10_13)
1212
],
1313
products: [
1414
.library(

raygun4apple.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2774,7 +2774,7 @@
27742774
"@executable_path/../Frameworks",
27752775
"@loader_path/Frameworks",
27762776
);
2777-
MACOSX_DEPLOYMENT_TARGET = 10.10;
2777+
MACOSX_DEPLOYMENT_TARGET = 10.13;
27782778
MARKETING_VERSION = 1.5.1;
27792779
MTL_ENABLE_DEBUG_INFO = YES;
27802780
ONLY_ACTIVE_ARCH = NO;
@@ -2849,7 +2849,7 @@
28492849
"@executable_path/../Frameworks",
28502850
"@loader_path/Frameworks",
28512851
);
2852-
MACOSX_DEPLOYMENT_TARGET = 10.10;
2852+
MACOSX_DEPLOYMENT_TARGET = 10.13;
28532853
MARKETING_VERSION = 1.5.1;
28542854
MTL_ENABLE_DEBUG_INFO = NO;
28552855
ONLY_ACTIVE_ARCH = NO;

0 commit comments

Comments
 (0)