-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (121 loc) · 3.41 KB
/
build.yml
File metadata and controls
130 lines (121 loc) · 3.41 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
123
124
125
126
127
128
129
130
name: build
on:
push:
pull_request:
workflow_dispatch:
jobs:
xcode_26_2:
runs-on: macos-26
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.app/Contents/Developer
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: Build
run: swift build --build-tests --enable-code-coverage
- name: Test
run: swift test --skip-build --enable-code-coverage --xunit-output result.xml
- name: Gather code coverage
run: xcrun llvm-cov export -format="lcov" .build/debug/KeyValueCoderPackageTests.xctest/Contents/MacOS/KeyValueCoderPackageTests -instr-profile .build/debug/codecov/default.profdata > coverage_report.lcov
- name: Upload Coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage_report.lcov
- name: 📄 Summary
uses: ./.github/actions/test-summary
with:
junit: result-swift-testing.xml
coverage: .build/debug/codecov/KeyValueCoder.json
xcode_26_1:
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_26.1.1.app/Contents/Developer
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: Build
run: swift build --build-tests
- name: Test
run: swift test --skip-build
xcode_16_4:
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: Build
run: swift build --build-tests
- name: Test
run: swift test --skip-build
xcode_16_2:
runs-on: macos-15
env:
DEVELOPER_DIR: /Applications/Xcode_16.2.app/Contents/Developer
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: Build
run: swift build --build-tests
- name: Test
run: swift test --skip-build
linux_swift_6_0:
runs-on: ubuntu-latest
container: swift:6.0
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: Build
run: swift build --build-tests
- name: Test
run: swift test --skip-build
linux_swift_6_1:
runs-on: ubuntu-latest
container: swift:6.1.2
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: Build
run: swift build --build-tests
- name: Test
run: swift test --skip-build
linux_swift_6_2:
runs-on: ubuntu-latest
container: swiftlang/swift:nightly-6.2-noble
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: Build
run: swift build --build-tests
- name: Test
run: swift test --skip-build
windows_swift_6_2:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Swift
uses: SwiftyLab/setup-swift@latest
with:
swift-version: "6.2"
- name: Version
run: swift --version
- name: Build
run: swift build --build-tests
- name: Test
run: swift test --skip-build