-
Notifications
You must be signed in to change notification settings - Fork 43
133 lines (124 loc) · 4.04 KB
/
build.yml
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
name: build
on:
push:
pull_request:
workflow_dispatch:
jobs:
xcode_16:
runs-on: macos-15
steps:
- name: Checkout
uses: actions/checkout@v4
- name: 🔍 Xcode Select
run: |
XCODE_PATH=`mdfind "kMDItemCFBundleIdentifier == 'com.apple.dt.Xcode' && kMDItemVersion = '16.*'" -onlyin /Applications | head -1`
echo "DEVELOPER_DIR=$XCODE_PATH/Contents/Developer" >> $GITHUB_ENV
- name: Version
run: swift --version
- name: Build
run: swift test --enable-code-coverage --filter do_not_test
- name: Test
run: swift test --enable-code-coverage --skip-build --xunit-output result.xml
timeout-minutes: 1
- name: Gather code coverage
run: xcrun llvm-cov export -format="lcov" .build/debug/FlyingFoxPackageTests.xctest/Contents/MacOS/FlyingFoxPackageTests -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/FlyingFox.json
xcode_15_4:
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_15.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_15_2:
runs-on: macos-14
env:
DEVELOPER_DIR: /Applications/Xcode_15.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_5_10:
runs-on: ubuntu-latest
container: swift:5.10
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_5_9:
runs-on: ubuntu-latest
container: swift:5.9
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_0_musl:
runs-on: ubuntu-latest
container: swift:6.0.2
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: SDK List Pre
run: swift sdk list
- name: Install SDK
run: swift sdk install https://download.swift.org/swift-6.0.2-release/static-sdk/swift-6.0.2-RELEASE/swift-6.0.2-RELEASE_static-linux-0.0.1.artifactbundle.tar.gz --checksum aa5515476a403797223fc2aad4ca0c3bf83995d5427fb297cab1d93c68cee075
- name: SDK List Post
run: swift sdk list
- name: Build
run: swift build --swift-sdk x86_64-swift-linux-musl
linux_swift_6_0_android:
runs-on: ubuntu-latest
container: swift:6.0.2
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Version
run: swift --version
- name: Install SDK
run: swift sdk install https://github.com/finagolfin/swift-android-sdk/releases/download/6.0.2/swift-6.0.2-RELEASE-android-24-0.1.artifactbundle.tar.gz --checksum d75615eac3e614131133c7cc2076b0b8fb4327d89dce802c25cd53e75e1881f4
- name: Build
run: swift build --swift-sdk aarch64-unknown-linux-android24