Skip to content

Commit f7268aa

Browse files
authored
chore(ci): update workflow to run tests and build project (#20)
1 parent e7f5710 commit f7268aa

File tree

6 files changed

+34
-207
lines changed

6 files changed

+34
-207
lines changed

.github/workflows/ci.yml

Lines changed: 31 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches:
66
- main
7-
- dev
87
pull_request:
98
paths:
109
- '.swiftlint.yml'
@@ -13,133 +12,18 @@ on:
1312
- "Source/**"
1413
- "Tests/**"
1514

16-
jobs:
17-
SwiftLint:
18-
runs-on: ubuntu-latest
19-
steps:
20-
- uses: actions/checkout@v3
21-
- name: GitHub Action for SwiftLint
22-
uses: norio-nomura/[email protected]
23-
with:
24-
args: --strict
25-
env:
26-
DIFF_BASE: ${{ github.base_ref }}
27-
macOS:
28-
name: ${{ matrix.name }}
29-
runs-on: ${{ matrix.runsOn }}
30-
env:
31-
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
32-
timeout-minutes: 20
33-
strategy:
34-
fail-fast: false
35-
matrix:
36-
include:
37-
- xcode: "Xcode_16.0"
38-
runsOn: macOS-14
39-
name: "macOS 14, Xcode 16.0, Swift 6.0"
40-
- xcode: "Xcode_15.4"
41-
runsOn: macOS-14
42-
name: "macOS 14, Xcode 15.4, Swift 5.10"
43-
- xcode: "Xcode_15.0"
44-
runsOn: macos-13
45-
name: "macOS 13, Xcode 15.0, Swift 5.9.0"
46-
- xcode: "Xcode_14.3.1"
47-
runsOn: macos-13
48-
name: "macOS 13, Xcode 14.3.1, Swift 5.8.0"
49-
steps:
50-
- uses: actions/checkout@v3
51-
- name: ${{ matrix.name }}
52-
run: xcodebuild test -scheme "Log" -destination "platform=macOS" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
53-
- name: Upload test coverage reports to Codecov
54-
uses: space-code/oss-common-actions/.github/actions/upload_test_coverage_report@main
55-
with:
56-
scheme_name: Log
57-
filename: ${{ matrix.name }}
58-
token: ${{ secrets.CODECOV_TOKEN }}
15+
permissions:
16+
contents: read
5917

60-
iOS:
61-
name: ${{ matrix.name }}
62-
runs-on: ${{ matrix.runsOn }}
63-
env:
64-
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
65-
timeout-minutes: 20
66-
strategy:
67-
fail-fast: false
68-
matrix:
69-
include:
70-
- destination: "OS=18.1,name=iPhone 16 Pro"
71-
name: "iOS 18.1"
72-
xcode: "Xcode_16.1"
73-
runsOn: macOS-14
74-
- destination: "OS=18.0,name=iPhone 16 Pro"
75-
name: "iOS 18.0"
76-
xcode: "Xcode_16.0"
77-
runsOn: macOS-14
78-
- destination: "OS=17.5,name=iPhone 15 Pro"
79-
name: "iOS 17.5"
80-
xcode: "Xcode_15.4"
81-
runsOn: macOS-14
82-
- destination: "OS=17.0.1,name=iPhone 14 Pro"
83-
name: "iOS 17.0.1"
84-
xcode: "Xcode_15.0"
85-
runsOn: macos-13
86-
- destination: "OS=16.4,name=iPhone 14 Pro"
87-
name: "iOS 16.4"
88-
xcode: "Xcode_14.3.1"
89-
runsOn: macos-13
90-
steps:
91-
- uses: actions/checkout@v3
92-
- name: ${{ matrix.name }}
93-
run: xcodebuild test -scheme "Log" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
94-
- name: Upload test coverage reports to Codecov
95-
uses: space-code/oss-common-actions/.github/actions/upload_test_coverage_report@main
96-
with:
97-
scheme_name: Log
98-
filename: ${{ matrix.name }}
99-
token: ${{ secrets.CODECOV_TOKEN }}
18+
concurrency:
19+
group: log-${{ github.head_ref }}
20+
cancel-in-progress: true
10021

101-
tvOS:
102-
name: ${{ matrix.name }}
103-
runs-on: ${{ matrix.runsOn }}
104-
env:
105-
DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"
106-
timeout-minutes: 20
107-
strategy:
108-
fail-fast: false
109-
matrix:
110-
include:
111-
- destination: "OS=18.1,name=Apple TV"
112-
name: "tvOS 18.1"
113-
xcode: "Xcode_16.1"
114-
runsOn: macOS-14
115-
- destination: "OS=18.0,name=Apple TV"
116-
name: "tvOS 18.0"
117-
xcode: "Xcode_16.0"
118-
runsOn: macOS-14
119-
- destination: "OS=17.5,name=Apple TV"
120-
name: "tvOS 17.5"
121-
xcode: "Xcode_15.4"
122-
runsOn: macOS-14
123-
- destination: "OS=17.0,name=Apple TV"
124-
name: "tvOS 17.0"
125-
xcode: "Xcode_15.0"
126-
runsOn: macos-13
127-
- destination: "OS=16.4,name=Apple TV"
128-
name: "tvOS 16.4"
129-
xcode: "Xcode_14.3.1"
130-
runsOn: macos-13
131-
steps:
132-
- uses: actions/checkout@v3
133-
- name: ${{ matrix.name }}
134-
run: xcodebuild test -scheme "Log" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
135-
- name: Upload test coverage reports to Codecov
136-
uses: space-code/oss-common-actions/.github/actions/upload_test_coverage_report@main
137-
with:
138-
scheme_name: Log
139-
filename: ${{ matrix.name }}
140-
token: ${{ secrets.CODECOV_TOKEN }}
22+
env:
23+
SCHEME_NAME: "Log"
14124

142-
watchOS:
25+
jobs:
26+
test-apple-platforms:
14327
name: ${{ matrix.name }}
14428
runs-on: ${{ matrix.runsOn }}
14529
env:
@@ -149,26 +33,23 @@ jobs:
14933
fail-fast: false
15034
matrix:
15135
include:
152-
- destination: "OS=11.1,name=Apple Watch Series 10 (46mm)"
153-
name: "watchOS 11.1"
154-
xcode: "Xcode_16.1"
155-
runsOn: macOS-14
156-
- destination: "OS=11.0,name=Apple Watch Series 10 (46mm)"
157-
name: "watchOS 11.0"
158-
xcode: "Xcode_16.0"
159-
runsOn: macOS-14
160-
- destination: "OS=10.5,name=Apple Watch Series 9 (45mm)"
161-
name: "watchOS 10.5"
162-
xcode: "Xcode_15.4"
163-
runsOn: macOS-14
164-
- destination: "OS=10.0,name=Apple Watch Series 9 (45mm)"
165-
name: "watchOS 10.0"
166-
xcode: "Xcode_15.0"
167-
runsOn: macos-13
168-
- destination: "OS=9.4,name=Apple Watch Series 8 (45mm)"
169-
name: "watchOS 9.4"
170-
xcode: "Xcode_14.3.1"
171-
runsOn: macos-13
36+
# macOS
37+
- { platform: macOS, name: "macOS 26, Xcode 26.0, Swift 6.2.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "platform=macOS" }
38+
- { platform: macOS, name: "macOS 14, Xcode 16.1, Swift 6.0.2", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "platform=macOS" }
39+
- { platform: macOS, name: "macOS 14, Xcode 15.4, Swift 5.10", xcode: "Xcode_15.4", runsOn: macOS-14, destination: "platform=macOS" }
40+
# iOS
41+
- { platform: iOS, name: "iOS 26.0, Xcode 26.0, Swift 6.2.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0.1,name=iPhone 17 Pro" }
42+
- { platform: iOS, name: "iOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=iPhone 16 Pro" }
43+
- { platform: iOS, name: "iOS 17.4", xcode: "Xcode_15.3", runsOn: macOS-14, destination: "OS=17.4,name=iPhone 15 Pro" }
44+
# tvOS
45+
- { platform: tvOS, name: "tvOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0,name=Apple TV" }
46+
- { platform: tvOS, name: "tvOS 18.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=18.1,name=Apple TV" }
47+
- { platform: tvOS, name: "tvOS 17.4", xcode: "Xcode_15.3", runsOn: macOS-14, destination: "OS=17.4,name=Apple TV" }
48+
# watchOS
49+
- { platform: watchOS, name: "watchOS 26.0", xcode: "Xcode_26.0.1", runsOn: macOS-26, destination: "OS=26.0,name=Apple Watch Ultra 3 (49mm)" }
50+
- { platform: watchOS, name: "watchOS 11.1", xcode: "Xcode_16.1", runsOn: macOS-14, destination: "OS=11.1,name=Apple Watch Series 10 (46mm)" }
51+
- { platform: watchOS, name: "watchOS 10.5", xcode: "Xcode_15.3", runsOn: macOS-14, destination: "OS=10.5,name=Apple Watch Series 9 (45mm)" }
52+
- { platform: watchOS, name: "watchOS 10.4", xcode: "Xcode_15.3", runsOn: macOS-14, destination: "OS=10.4,name=Apple Watch Series 9 (45mm)" }
17253
steps:
17354
- uses: actions/checkout@v3
17455
- name: ${{ matrix.name }}
@@ -190,25 +71,17 @@ jobs:
19071
fail-fast: false
19172
matrix:
19273
include:
193-
- name: "macOS 14, SPM 6.0.2 Test"
194-
xcode: "Xcode_16.1"
195-
runsOn: macOS-14
196-
- name: "macOS 14, SPM 6.0.0 Test"
197-
xcode: "Xcode_16.0"
198-
runsOn: macOS-14
199-
- name: "macOS 14, SPM 5.9.0 Test"
200-
xcode: "Xcode_15.0"
201-
runsOn: macos-14
202-
- name: "macOS 13, SPM 5.8.1 Test"
203-
xcode: "Xcode_14.3.1"
204-
runsOn: macos-13
74+
- { name: "macOS 26, SPM 6.2.0", xcode: "Xcode_26.0.1", runsOn: macOS-26 }
75+
- { name: "macOS 15, SPM 6.0.2", xcode: "Xcode_16.0", runsOn: macOS-15 }
76+
- { name: "macOS 14, SPM 6.0.2", xcode: "Xcode_16.1", runsOn: macOS-14 }
77+
- { name: "macOS 14, SPM 5.10.0", xcode: "Xcode_15.3", runsOn: macOS-14 }
20578
steps:
20679
- uses: actions/checkout@v3
20780
- name: ${{ matrix.name }}
20881
run: swift build -c release
20982

21083
merge-test-reports:
211-
needs: [iOS, macOS, watchOS, tvOS]
84+
needs: [test-apple-platforms]
21285
runs-on: macos-13
21386
steps:
21487
- name: Download artifacts

.swiftlint.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
excluded:
22
- Tests
33
- Package.swift
4-
5-
6-
74
5+
86
- .build
97

108
# Rules

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 6.0
1+
// swift-tools-version: 6.2
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import PackageDescription

[email protected]

Lines changed: 0 additions & 22 deletions
This file was deleted.

[email protected]

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.9
1+
// swift-tools-version: 6.0
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import PackageDescription

0 commit comments

Comments
 (0)