@@ -15,87 +15,92 @@ concurrency:
15
15
cancel-in-progress : true
16
16
17
17
jobs :
18
- linux :
18
+ linux-build :
19
+ name : Linux (Swift ${{ matrix.swift }})
19
20
runs-on : ubuntu-20.04
20
21
strategy :
21
22
matrix :
22
23
swift :
23
- - 4.0.3
24
- - 4.1.3
25
- - 4.2.4
24
+ - ' 4.0'
25
+ - ' 4.1'
26
+ - ' 4.2'
26
27
container :
27
28
image : swift:${{ matrix.swift }}
28
29
steps :
29
- - uses : actions/checkout@v4.1.7
30
+ - uses : actions/checkout@v1 # DO NOT UPDATE ∵ failure on older containers due to old glibc
30
31
- run : swift build -Xswiftc -warnings-as-errors -Xswiftc -swift-version -Xswiftc 3
31
- - run : swift build # generated linuxmain requires Swift 5 sadly
32
+ - run : swift build # can’t test ∵ generated linuxmain requires Swift 5
32
33
33
- linux-code-cov :
34
- name : linux
35
- runs-on : ubuntu-20.04
34
+ linux-test :
35
+ name : Linux (Swift ${{ matrix.swift }})
36
+ runs-on : ubuntu-latest
37
+ continue-on-error : true
36
38
strategy :
37
39
matrix :
38
40
swift :
39
41
- ' 5.0'
40
- - 5.1
41
- - 5.2
42
- - 5.3
43
- - 5.4
44
- - 5.5
45
- - 5.6
42
+ - ' 5.1'
43
+ - ' 5.2'
44
+ - ' 5.3'
45
+ - ' 5.4'
46
+ - ' 5.5'
47
+ - ' 5.6'
48
+ - ' 5.7'
49
+ - ' 5.8'
50
+ - ' 5.9'
51
+ - ' 5.10'
52
+ - ' 6.0'
46
53
container :
47
54
image : swift:${{ matrix.swift }}
48
55
steps :
49
- - uses : actions/checkout@v4.1.7
56
+ - uses : actions/checkout@v1 # DO NOT UPDATE ∵ failure on older containers due to old glibc
50
57
- run : swift build -Xswiftc -warnings-as-errors -Xswiftc -swift-version -Xswiftc 4
58
+ if : ${{ matrix.swift < 6 }}
51
59
- run : swift build -Xswiftc -warnings-as-errors -Xswiftc -swift-version -Xswiftc 4.2
60
+ if : ${{ matrix.swift < 6 }}
52
61
- run : swift test --enable-code-coverage --parallel
53
62
54
63
- name : Generate Coverage Report
55
- if : ${{ matrix.swift < 5.4 }} # fails for SOME REASON
64
+ if : ${{ matrix.swift >= 6 }}
56
65
run : |
57
66
apt-get -qq update
58
- apt-get -qq install llvm-10 curl
59
- export b=$(swift build --show-bin-path) && llvm-cov-10 \
67
+ apt-get -qq install llvm-18 curl
68
+ export b=$(swift build --show-bin-path) && llvm-cov-18 \
60
69
export -format lcov \
61
70
-instr-profile=$b/codecov/default.profdata \
62
71
--ignore-filename-regex='\.build/' \
63
72
$b/*.xctest \
64
73
> info.lcov
74
+
65
75
- uses : codecov/codecov-action@v1
66
76
with :
67
77
file : ./info.lcov
68
-
69
- verify-linuxmain :
70
- runs-on : macos-latest
71
- name : linux (validate manifests)
72
- steps :
73
- - uses : actions/checkout@v4.1.7
74
- - run : swift test --generate-linuxmain
75
- - run : git diff --exit-code
78
+ if : ${{ matrix.swift >= 6 }}
76
79
77
80
test :
78
- runs-on : macos-14
81
+ runs-on : macos-latest
82
+ name : ${{ matrix.platform }}
83
+ continue-on-error : true
79
84
strategy :
80
85
matrix :
81
- dst :
82
- - " platform=macOS,arch=arm64,id=0000FE00-392BB8A41C01F642"
83
- - " platform=iOS Simulator,OS=17.0.1,name=iPhone 14"
84
- - " platform=tvOS Simulator,OS=17.2,name=Apple TV"
86
+ platform :
87
+ - macOS
88
+ - watchOS
89
+ - tvOS
90
+ - iOS
91
+ # - mac-catalyst
92
+ # - visionOS
93
+ # ^^ both are unavailable in the github-hosted runners
85
94
steps :
86
- - uses : maxim-lobanov/setup-xcode@v1
87
- with :
88
- xcode-version : 15.2
89
- - uses : actions/checkout@v4.1.7
90
- - uses : sersoft-gmbh/xcodebuild-action@v1
95
+ - uses : actions/checkout@v4
96
+ - uses : mxcl/xcodebuild@v3
91
97
with :
92
- project : PromiseKit.xcodeproj
93
- scheme : PromiseKit
94
- destination : ${{ matrix.dst }}
95
- action : test
96
- enable-code-coverage : true
98
+ platform : ${{ matrix.platform }}
99
+ code-coverage : true
97
100
- uses : codecov/codecov-action@v1
101
+
98
102
test-android :
103
+ name : Android
99
104
runs-on : ubuntu-latest
100
105
steps :
101
106
- uses : actions/checkout@v4
0 commit comments