Skip to content

Commit a9afad7

Browse files
committed
fixing workflow and upgrading to Swift 5.9
1 parent 8f98b06 commit a9afad7

2 files changed

Lines changed: 78 additions & 72 deletions

File tree

.github/workflows/SundialKit.yml

Lines changed: 77 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,32 @@ env:
88
jobs:
99
build-ubuntu:
1010
name: Build on Ubuntu
11-
runs-on: ${{ matrix.runs-on }}
11+
runs-on: ubuntu-latest
12+
container: ${{ matrix.swift.nightly && format('swiftlang/swift:nightly-{0}-{1}', matrix.swift.version, matrix.os) || format('swift:{0}-{1}', matrix.swift.version, matrix.os) }}
1213
if: ${{ !contains(github.event.head_commit.message, 'ci skip') }}
1314
strategy:
15+
fail-fast: false
1416
matrix:
15-
runs-on: [ubuntu-18.04, ubuntu-20.04, ubuntu-22.04]
16-
swift-version: [5.5.2, 5.6.2, 5.7]
17+
os: [noble, jammy]
18+
swift:
19+
- version: "5.9"
20+
- version: "5.10"
21+
- version: "6.0"
22+
- version: "6.1"
23+
- version: "6.2"
24+
- version: "6.1"
25+
nightly: true
26+
- version: "6.2"
27+
nightly: true
28+
exclude:
29+
- os: noble
30+
swift:
31+
- version: "5.9"
1732
steps:
1833
- uses: actions/checkout@v4
19-
- uses: brightdigit/swift-build@v1.3.3
34+
- uses: brightdigit/swift-build@v1.3.4
2035
with:
21-
swift-version: ${{ matrix.swift-version }}
36+
scheme: ${{ env.PACKAGE_NAME }}
2237
- uses: sersoft-gmbh/swift-coverage-action@v4
2338
id: coverage-files
2439
with:
@@ -27,7 +42,7 @@ jobs:
2742
uses: codecov/codecov-action@v4
2843
with:
2944
fail_ci_if_error: true
30-
flags: spm,ubuntu-${{ matrix.runs-on }},${{ matrix.swift-version }}
45+
flags: swift-${{ matrix.swift.version }}-${{ matrix.os }}${{ matrix.swift.nightly && '-nightly' || '' }}
3146
verbose: true
3247
token: ${{ secrets.CODECOV_TOKEN }}
3348
files: ${{ join(fromJSON(steps.coverage-files.outputs.files), ',') }}
@@ -39,107 +54,98 @@ jobs:
3954
fail-fast: false
4055
matrix:
4156
include:
42-
# SPM Build Matrix
43-
- runs-on: macos-11
44-
xcode: "/Applications/Xcode_13.2.1.app"
45-
- runs-on: macos-12
46-
xcode: "/Applications/Xcode_13.3.app"
47-
- runs-on: macos-12
48-
xcode: "/Applications/Xcode_13.4.1.app"
49-
- runs-on: macos-12
50-
xcode: "/Applications/Xcode_14.0.1.app"
51-
- runs-on: macos-12
52-
xcode: "/Applications/Xcode_14.1.app"
57+
# SPM Build Matrix - Xcode 15.x (Swift 5.9-5.10)
58+
- runs-on: macos-15
59+
xcode: "/Applications/Xcode_15.0.1.app"
60+
- runs-on: macos-15
61+
xcode: "/Applications/Xcode_15.2.app"
62+
- runs-on: macos-15
63+
xcode: "/Applications/Xcode_15.4.app"
64+
65+
# SPM Build Matrix - Xcode 16.x+ (Swift 6.x)
66+
- runs-on: macos-15
67+
xcode: "/Applications/Xcode_26.0.app"
68+
- runs-on: macos-15
69+
xcode: "/Applications/Xcode_16.4.app"
70+
- runs-on: macos-15
71+
xcode: "/Applications/Xcode_16.3.app"
5372

54-
# iOS Build Matrix
73+
# iOS Build Matrix - Xcode 15.x (Swift 5.9-5.10)
5574
- type: ios
56-
runs-on: macos-11
57-
xcode: "/Applications/Xcode_13.2.1.app"
58-
deviceName: "iPhone 13"
59-
osVersion: "15.2"
75+
runs-on: macos-15
76+
xcode: "/Applications/Xcode_15.4.app"
77+
deviceName: "iPhone 15"
78+
osVersion: "17.5"
6079

80+
# iOS Build Matrix - Xcode 16.x+ (Swift 6.x)
6181
- type: ios
62-
runs-on: macos-12
63-
xcode: "/Applications/Xcode_13.3.app"
64-
deviceName: "iPhone 13"
65-
osVersion: "15.4"
82+
runs-on: macos-15
83+
xcode: "/Applications/Xcode_26.0.app"
84+
deviceName: "iPhone 17 Pro"
85+
osVersion: "26.0"
86+
download-platform: true
6687

6788
- type: ios
68-
runs-on: macos-12
69-
xcode: "/Applications/Xcode_13.4.1.app"
70-
deviceName: "iPhone 13"
71-
osVersion: "15.5"
89+
runs-on: macos-15
90+
xcode: "/Applications/Xcode_16.4.app"
91+
deviceName: "iPhone 16e"
92+
osVersion: "18.5"
7293

7394
- type: ios
74-
runs-on: macos-12
75-
xcode: "/Applications/Xcode_14.0.1.app"
76-
deviceName: "iPhone 14"
77-
osVersion: "16.0"
78-
79-
- type: ios
80-
runs-on: macos-12
81-
xcode: "/Applications/Xcode_14.1.app"
82-
deviceName: "iPhone 14"
83-
osVersion: "16.1"
84-
85-
# watchOS Build Matrix
86-
- type: watchos
87-
runs-on: macos-11
88-
xcode: "/Applications/Xcode_13.2.1.app"
89-
deviceName: "Apple Watch Series 7 - 41mm"
90-
osVersion: "8.3"
95+
runs-on: macos-15
96+
xcode: "/Applications/Xcode_16.3.app"
97+
deviceName: "iPhone 16"
98+
osVersion: "18.4"
9199

100+
# watchOS Build Matrix - Xcode 15.x (Swift 5.9-5.10)
92101
- type: watchos
93-
runs-on: macos-12
94-
xcode: "/Applications/Xcode_13.3.app"
95-
deviceName: "Apple Watch Series 7 - 41mm"
96-
osVersion: "8.5"
102+
runs-on: macos-15
103+
xcode: "/Applications/Xcode_15.4.app"
104+
deviceName: "Apple Watch Series 9 (45mm)"
105+
osVersion: "10.5"
97106

107+
# watchOS Build Matrix - Xcode 16.x+ (Swift 6.x)
98108
- type: watchos
99-
runs-on: macos-12
100-
xcode: "/Applications/Xcode_13.4.1.app"
101-
deviceName: "Apple Watch Series 7 - 41mm"
102-
osVersion: "8.5"
109+
runs-on: macos-15
110+
xcode: "/Applications/Xcode_26.0.app"
111+
deviceName: "Apple Watch Ultra 3 (49mm)"
112+
osVersion: "26.0"
113+
download-platform: true
103114

104115
- type: watchos
105-
runs-on: macos-12
106-
xcode: "/Applications/Xcode_14.0.1.app"
107-
deviceName: "Apple Watch Series 8 (41mm)"
108-
osVersion: "9.0"
116+
runs-on: macos-15
117+
xcode: "/Applications/Xcode_16.4.app"
118+
deviceName: "Apple Watch Series 10 (46mm)"
119+
osVersion: "11.5"
109120

110121
- type: watchos
111-
runs-on: macos-12
112-
xcode: "/Applications/Xcode_14.1.app"
113-
deviceName: "Apple Watch Ultra (49mm)"
114-
osVersion: "9.1"
122+
runs-on: macos-15
123+
xcode: "/Applications/Xcode_16.3.app"
124+
deviceName: "Apple Watch Series 10 (42mm)"
125+
osVersion: "11.4"
115126

116127
steps:
117128
- uses: actions/checkout@v4
118129

119130
- name: Build and Test
120-
uses: brightdigit/swift-build@v1.3.3
131+
uses: brightdigit/swift-build@v1.3.4
121132
with:
122133
scheme: ${{ env.PACKAGE_NAME }}
123134
type: ${{ matrix.type }}
124135
xcode: ${{ matrix.xcode }}
125136
deviceName: ${{ matrix.deviceName }}
126137
osVersion: ${{ matrix.osVersion }}
138+
download-platform: ${{ matrix.download-platform }}
127139

128140
# Coverage Steps
129141
- name: Process Coverage
130142
uses: sersoft-gmbh/swift-coverage-action@v4
131-
id: coverage-files
132-
with:
133-
fail-on-empty-output: true
134143

135144
- name: Upload Coverage
136145
uses: codecov/codecov-action@v4
137146
with:
138147
token: ${{ secrets.CODECOV_TOKEN }}
139-
flags: ${{ matrix.type && format('{0}-{1}', matrix.type, matrix.osVersion) || 'spm' }}
140-
verbose: true
141-
fail_ci_if_error: true
142-
files: ${{ join(fromJSON(steps.coverage-files.outputs.files), ',') }}
148+
flags: ${{ matrix.type && format('{0}{1}', matrix.type, matrix.osVersion) || 'spm' }}
143149

144150
lint:
145151
name: Linting

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.5
1+
// swift-tools-version: 5.9
22
// swiftlint:disable explicit_top_level_acl explicit_acl
33
import PackageDescription
44

0 commit comments

Comments
 (0)