-
Notifications
You must be signed in to change notification settings - Fork 40
143 lines (105 loc) · 3 KB
/
ci.yml
File metadata and controls
143 lines (105 loc) · 3 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
131
132
133
134
135
136
137
138
139
140
141
142
143
name: Run CI
on:
push:
branches: [ main ]
paths-ignore:
- '**.md' # Do not need to run CI for markdown changes.
pull_request:
branches: [ main ]
paths-ignore:
- '**.md'
jobs:
lint:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: 16.4
- uses: ./.github/actions/lint
build-ios:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: 16.4
- uses: ./.github/actions/build-ios
with:
ios-sim: 'platform=iOS Simulator,name=iPhone 16'
build-macos:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: 16.4
- uses: ./.github/actions/build-macos
build-tvos:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: 16.4
- uses: ./.github/actions/build-tvos
build-watchos:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: 16.4
- uses: ./.github/actions/build-watchos
test-swiftpm:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: 16.4
- uses: ./.github/actions/test-swiftpm
contract-tests:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: 16.4
- uses: ./.github/actions/contract-tests
with:
token: ${{ secrets.GITHUB_TOKEN }}
build-docs:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd
with:
xcode-version: 16.4
- uses: ./.github/actions/build-docs
linux-build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
swift-version:
- 5.7
- 5.8
- 5.9
container: swift:${{ matrix.swift-version }}
steps:
- uses: actions/checkout@v4
- name: Build and test
run: swift test --enable-test-discovery
windows-build:
name: Windows - Swift 6.1
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install Swift
uses: compnerd/gha-setup-swift@cd348eb89f2f450b0664c07fb1cb66880addf17d
with:
branch: swift-6.1-release
tag: 6.1-RELEASE
- name: Build and test
run: swift test