Skip to content

Commit 5a35726

Browse files
authored
Merge branch 'main' into feature/flagvaluedictionary-boxed
2 parents fbf3545 + ed209f2 commit 5a35726

14 files changed

Lines changed: 725 additions & 114 deletions

.github/scripts/generate-docs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ WORKING="docs"
2020
xcodebuild docbuild \
2121
-scheme "${SCHEME}" \
2222
-derivedDataPath "${DERIVED_DATA}" \
23-
-destination "platform=macOS, name=Any Mac"
23+
-destination "generic/platform=macOS"
2424

2525
# Make sure they exist
2626
if [ ! -d "${VEXIL_DOCCARCHIVE}" ]; then

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
branches: [ main ]
66
paths:
77
- '.github/workflows/docs.yml'
8-
- '.github/generate-docs.sh'
8+
- '.github/scripts/generate-docs.sh'
99
- '**/*.swift'
1010

1111
env:

.github/workflows/ios-tests.yml

Lines changed: 71 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,60 @@ name: iOS Tests
33
on:
44
push:
55
branches: [ main ]
6-
paths:
7-
- '.github/workflows/ios-tests.yml'
8-
- '**/*.swift'
96
pull_request:
107
branches: [ main ]
11-
paths:
12-
- '.github/workflows/ios-tests.yml'
13-
- '**/*.swift'
148

159
jobs:
16-
build-ios-beta:
17-
name: iOS Tests - Xcode Betas
10+
check-changes:
11+
name: Check for Changes
12+
runs-on: ubuntu-latest
13+
if: ${{ github.event_name == 'pull_request' }}
14+
outputs:
15+
changed: ${{ steps.filter.outputs.changed }}
16+
steps:
17+
- uses: dorny/paths-filter@v2
18+
id: filter
19+
with:
20+
filters: |
21+
changed:
22+
- '.github/workflows/ios-tests.yml'
23+
- '**/*.swift'
24+
25+
#############
26+
# iOS Betas #
27+
#############
28+
29+
# build-ios-beta:
30+
# name: iOS Tests - Xcode Betas
31+
# runs-on: macos-11.0
32+
# if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
33+
# strategy:
34+
# matrix:
35+
# xcode: [ "13.0" ]
36+
37+
# env:
38+
# DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
39+
40+
# steps:
41+
# - name: Checkout
42+
# uses: actions/checkout@v2
43+
# if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
44+
# - name: Build and Test
45+
# run: swift package generate-xcodeproj && xcrun xcodebuild test -scheme "Vexil-Package" -destination "platform=iOS Simulator,name=iPhone 8"
46+
# if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
47+
48+
#####################
49+
# macOS 11 Versions #
50+
#####################
51+
52+
build-ios-macos-11-matrix:
53+
name: iOS Metrix - macOS 11
1854
runs-on: macos-11.0
55+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
56+
needs: check-changes
1957
strategy:
2058
matrix:
21-
xcode: [ "13.0" ]
59+
xcode: [ "11.7", "12.4", "12.5.1", "13.0" ]
2260

2361
env:
2462
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
@@ -30,24 +68,24 @@ jobs:
3068
run: swift package generate-xcodeproj && xcrun xcodebuild test -scheme "Vexil-Package" -destination "platform=iOS Simulator,name=iPhone 8"
3169

3270
build-ios-macos-11:
71+
runs-on: ubuntu-latest
3372
name: iOS Tests - macOS 11
34-
runs-on: macos-11.0
35-
strategy:
36-
matrix:
37-
xcode: [ "11.7", "12.4", "12.5", "12.5.1" ]
38-
39-
env:
40-
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
41-
73+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
74+
needs: build-ios-macos-11-matrix
4275
steps:
43-
- name: Checkout
44-
uses: actions/checkout@v2
45-
- name: Build and Test
46-
run: swift package generate-xcodeproj && xcrun xcodebuild test -scheme "Vexil-Package" -destination "platform=iOS Simulator,name=iPhone 8"
76+
- name: Check build matrix status
77+
if: ${{ needs.build-ios-macos-11-matrix.result == 'failure' }}
78+
run: exit 1
4779

48-
build-ios-macos-10_15:
49-
name: iOS Tests - macOS 10.15
80+
########################
81+
# macOS 10.15 Versions #
82+
########################
83+
84+
build-ios-macos-10_15-matrix:
85+
name: iOS Matrix - macOS 10.15
5086
runs-on: macos-10.15
87+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
88+
needs: check-changes
5189
strategy:
5290
matrix:
5391
xcode: [ "11.7", "12", "12.1", "12.2", "12.3", "12.4" ]
@@ -60,3 +98,13 @@ jobs:
6098
uses: actions/checkout@v2
6199
- name: Build and Test
62100
run: swift package generate-xcodeproj && xcrun xcodebuild test -scheme "Vexil-Package" -destination "platform=iOS Simulator,name=iPhone 8"
101+
102+
build-ios-macos-10_15:
103+
runs-on: ubuntu-latest
104+
name: iOS Tests - macOS 10.15
105+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
106+
needs: build-ios-macos-10_15-matrix
107+
steps:
108+
- name: Check build matrix status
109+
if: ${{ needs.build-ios-macos-11-matrix.result == 'failure' }}
110+
run: exit 1

.github/workflows/linux-tests.yml

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,37 @@ name: Linux Tests
33
on:
44
push:
55
branches: [ main ]
6-
paths:
7-
- '.github/workflows/linux-tests.yml'
8-
- '**/*.swift'
96
pull_request:
107
branches: [ main ]
11-
paths:
12-
- '.github/workflows/linux-tests.yml'
13-
- '**/*.swift'
148

159
jobs:
16-
test:
17-
name: Linux Tests
10+
check-changes:
11+
name: Check for Changes
12+
runs-on: ubuntu-latest
13+
if: ${{ github.event_name == 'pull_request' }}
14+
outputs:
15+
changed: ${{ steps.filter.outputs.changed }}
16+
steps:
17+
- uses: dorny/paths-filter@v2
18+
id: filter
19+
with:
20+
filters: |
21+
changed:
22+
- '.github/workflows/linux-tests.yml'
23+
- '**/*.swift'
24+
25+
#########
26+
# Linux #
27+
#########
28+
29+
matrix:
30+
name: Linux Matrix
1831
runs-on: ubuntu-latest
32+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
33+
needs: check-changes
1934
strategy:
2035
matrix:
21-
swift: [ "5.2.5", "5.3", "5.3.1", "5.3.2", "5.3.3", "5.4.1", "5.4.2" ]
36+
swift: [ "5.2.5", "5.3", "5.3.1", "5.3.2", "5.3.3", "5.4.1", "5.4.2", "5.5.0" ]
2237
os: [ amazonlinux2, bionic, centos7, centos8, focal, xenial ]
2338

2439
container:
@@ -29,3 +44,13 @@ jobs:
2944
uses: actions/checkout@v1
3045
- name: Build and Test
3146
run: swift test --enable-test-discovery
47+
48+
test:
49+
runs-on: ubuntu-latest
50+
name: Linux Tests
51+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
52+
needs: matrix
53+
steps:
54+
- name: Check build matrix status
55+
if: ${{ needs.matrix.result == 'failure' }}
56+
run: exit 1

.github/workflows/macos-tests.yml

Lines changed: 71 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,59 @@ name: macOS Tests
33
on:
44
push:
55
branches: [ main ]
6-
paths:
7-
- '.github/workflows/macos-tests.yml'
8-
- '**/*.swift'
96
pull_request:
107
branches: [ main ]
11-
paths:
12-
- '.github/workflows/macos-tests.yml'
13-
- '**/*.swift'
148

159
jobs:
16-
build-macos-beta:
17-
name: macOS Tests - Xcode Betas
10+
check-changes:
11+
name: Check for Changes
12+
runs-on: ubuntu-latest
13+
if: ${{ github.event_name == 'pull_request' }}
14+
outputs:
15+
changed: ${{ steps.filter.outputs.changed }}
16+
steps:
17+
- uses: dorny/paths-filter@v2
18+
id: filter
19+
with:
20+
filters: |
21+
changed:
22+
- '.github/workflows/macos-tests.yml'
23+
- '**/*.swift'
24+
25+
###############
26+
# macOS Betas #
27+
###############
28+
29+
# build-macos-beta:
30+
# name: macOS Tests - Xcode Betas
31+
# runs-on: macos-11.0
32+
# if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
33+
# needs: check-changes
34+
# strategy:
35+
# matrix:
36+
# xcode: [ "13.0" ]
37+
38+
# env:
39+
# DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
40+
41+
# steps:
42+
# - name: Checkout
43+
# uses: actions/checkout@v2
44+
# - name: Build and Test
45+
# run: swift test
46+
47+
############
48+
# macOS 11 #
49+
############
50+
51+
build-macos-macos-11-matrix:
52+
name: macOS Matrix - macOS 11
1853
runs-on: macos-11.0
54+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
55+
needs: check-changes
1956
strategy:
2057
matrix:
21-
xcode: [ "13.0" ]
58+
xcode: [ "11.7", "12.4", "12.5.1", "13.0" ]
2259

2360
env:
2461
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
@@ -30,24 +67,24 @@ jobs:
3067
run: swift test
3168

3269
build-macos-macos-11:
70+
runs-on: ubuntu-latest
3371
name: macOS Tests - macOS 11
34-
runs-on: macos-11.0
35-
strategy:
36-
matrix:
37-
xcode: [ "11.7", "12.4", "12.5", "12.5.1" ]
38-
39-
env:
40-
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
41-
72+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
73+
needs: build-macos-macos-11-matrix
4274
steps:
43-
- name: Checkout
44-
uses: actions/checkout@v2
45-
- name: Build and Test
46-
run: swift test
75+
- name: Check build matrix status
76+
if: ${{ needs.build-macos-macos-11-matrix.result == 'failure' }}
77+
run: exit 1
4778

48-
build-tvos-macos-10_15:
49-
name: macOS Tests - macOS 10.15
79+
###############
80+
# macOS 10.15 #
81+
###############
82+
83+
build-macos-macos-10_15-matrix:
84+
name: macOS Matrix - macOS 10.15
5085
runs-on: macos-10.15
86+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
87+
needs: check-changes
5188
strategy:
5289
matrix:
5390
xcode: [ "11.7", "12", "12.1", "12.2", "12.3", "12.4" ]
@@ -59,4 +96,14 @@ jobs:
5996
- name: Checkout
6097
uses: actions/checkout@v2
6198
- name: Build and Test
62-
run: swift test
99+
run: swift
100+
101+
build-macos-macos-10_15:
102+
runs-on: ubuntu-latest
103+
name: macOS Tests - macOS 10.15
104+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
105+
needs: build-macos-macos-10_15-matrix
106+
steps:
107+
- name: Check build matrix status
108+
if: ${{ needs.build-macos-macos-10_15-matrix.result == 'failure' }}
109+
run: exit 1

.github/workflows/swiftlint.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,29 @@ name: SwiftLint
22

33
on:
44
pull_request:
5-
paths:
6-
- '.github/workflows/swiftlint.yml'
7-
- '.swiftlint.yml'
8-
- '**/*.swift'
5+
branches: [ main ]
96

107
jobs:
8+
check-changes:
9+
name: Check for Changes
10+
runs-on: ubuntu-latest
11+
if: ${{ github.event_name == 'pull_request' }}
12+
outputs:
13+
changed: ${{ steps.filter.outputs.changed }}
14+
steps:
15+
- uses: dorny/paths-filter@v2
16+
id: filter
17+
with:
18+
filters: |
19+
changed:
20+
- '.github/workflows/swiftlint.yml'
21+
- '.swiftlint.yml'
22+
- '**/*.swift'
23+
1124
SwiftLint:
1225
runs-on: ubuntu-latest
26+
if: ${{ github.event_name == 'push' || needs.check-changes.outputs.changed == 'true' }}
27+
needs: check-changes
1328
steps:
1429
- uses: actions/checkout@v1
1530
- name: "🧹 SwiftLint changed files"

0 commit comments

Comments
 (0)