Add CI workflow and update Swift tools to 6.2
Enable visionOS support in Package.swift and add a GitHub Actions workflow for CI covering macOS, iOS, tvOS, and visionOS builds.
keypair34 committed
Apr 9, 2026 at 21:18 UTC
9c4d61eb6d82e95cdbdec465bc36a093166c04e0
2 files changed
+78
-1
.github/workflows/ci.yml
new
+76
@@ -0,0 +1,76 @@
1
+name: CI
2
+
3
+on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+ workflow_dispatch:
9
+
10
+concurrency:
11
+ group: ci-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+permissions:
15
+ contents: read
16
+
17
+jobs:
18
+ validate:
19
+ name: Validate manifest
20
+ runs-on: macos-26
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - name: Dump package
24
+ run: swift package dump-package
25
+ - name: Resolve dependencies
26
+ run: swift package resolve
27
+
28
+ build-macos:
29
+ name: Build (macOS)
30
+ needs: validate
31
+ runs-on: macos-26
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+ - run: swift build
35
+
36
+ build-ios:
37
+ name: Build (iOS)
38
+ needs: validate
39
+ runs-on: macos-26
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+ - name: Build for iOS
43
+ run: >
44
+ xcodebuild build
45
+ -scheme Onde
46
+ -destination 'generic/platform=iOS'
47
+ -skipPackagePluginValidation
48
+ -skipMacroValidation
49
+
50
+ build-tvos:
51
+ name: Build (tvOS)
52
+ needs: validate
53
+ runs-on: macos-26
54
+ steps:
55
+ - uses: actions/checkout@v4
56
+ - name: Build for tvOS
57
+ run: >
58
+ xcodebuild build
59
+ -scheme Onde
60
+ -destination 'generic/platform=tvOS'
61
+ -skipPackagePluginValidation
62
+ -skipMacroValidation
63
+
64
+ build-visionos:
65
+ name: Build (visionOS)
66
+ needs: validate
67
+ runs-on: macos-26
68
+ steps:
69
+ - uses: actions/checkout@v4
70
+ - name: Build for visionOS
71
+ run: >
72
+ xcodebuild build
73
+ -scheme Onde
74
+ -destination 'generic/platform=visionOS'
75
+ -skipPackagePluginValidation
76
+ -skipMacroValidation
\ No newline at end of file
Package.swift
+2
-1
@@ -1,4 +1,4 @@
1
-// swift-tools-version:5.5
1
+// swift-tools-version:6.2
2
import PackageDescription
3
4
// ─────────────────────────────────────────────────────────────────────────────
@@ -26,6 +26,7 @@ let package = Package(
26
.iOS(.v15),
27
.macOS(.v11),
28
.tvOS(.v15),
29
+ .visionOS(.v26),
30
],
31
products: [
32
.library(name: "Onde", targets: ["Onde"])