|
11 | 11 |
|
12 | 12 | jobs:
|
13 | 13 | macos-build:
|
14 |
| - runs-on: macos-latest |
| 14 | + runs-on: ${{ matrix.os }} |
15 | 15 |
|
16 | 16 | strategy:
|
17 | 17 | matrix:
|
18 | 18 | include:
|
19 |
| - - xcode-version: 15.0.0 |
20 |
| - ios-sim: 'platform=iOS Simulator,name=iPhone 15,OS=17.0.1' |
21 |
| - - xcode-version: 14.0.1 |
22 |
| - ios-sim: 'platform=iOS Simulator,name=iPhone 14,OS=16.0' |
| 19 | + - xcode-version: 15.0.1 |
| 20 | + ios-sim: 'platform=iOS Simulator,name=iPhone 17,OS=17.0' |
| 21 | + os: macos-13 |
| 22 | + - xcode-version: 14.3.1 |
| 23 | + ios-sim: 'platform=iOS Simulator,name=iPhone 16,OS=16.4' |
| 24 | + os: macos-13 |
23 | 25 | - xcode-version: 13.4.1
|
24 | 26 | ios-sim: 'platform=iOS Simulator,name=iPhone 11,OS=15.5'
|
| 27 | + os: macos-12 |
25 | 28 |
|
26 | 29 | steps:
|
27 | 30 | - uses: actions/checkout@v4
|
28 | 31 | with:
|
29 | 32 | fetch-depth: 0 # If you only need the current version keep this.
|
30 | 33 |
|
31 |
| - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd |
32 |
| - if: ${{ matrix.xcode-version != '15.0.0' }} |
| 34 | + - uses: ./.github/actions/ci |
33 | 35 | with:
|
34 | 36 | xcode-version: ${{ matrix.xcode-version }}
|
| 37 | + ios-sim: ${{ matrix.ios-sim }} |
35 | 38 |
|
36 |
| - - name: Build & Test on macOS Simulator |
37 |
| - run: xcodebuild test -scheme 'LDSwiftEventSource' -sdk macosx -destination 'platform=macOS' | xcpretty |
38 |
| - |
39 |
| - - name: Build for ARM64 macOS |
40 |
| - run: xcodebuild build -scheme 'LDSwiftEventSource' -arch arm64e -sdk macosx | xcpretty |
41 |
| - |
42 |
| - - name: Build Tests for iOS device |
43 |
| - run: xcodebuild build-for-testing -scheme 'LDSwiftEventSource' -sdk iphoneos CODE_SIGN_IDENTITY= | xcpretty |
44 |
| - |
45 |
| - - name: Build & Test on iOS Simulator |
46 |
| - run: xcodebuild test -scheme 'LDSwiftEventSource' -sdk iphonesimulator -destination '${{ matrix.ios-sim }}' CODE_SIGN_IDENTITY= | xcpretty |
47 |
| - |
48 |
| - - name: Build Tests for tvOS device |
49 |
| - run: xcodebuild build-for-testing -scheme 'LDSwiftEventSource' -sdk appletvos CODE_SIGN_IDENTITY= | xcpretty |
50 |
| - |
51 |
| - - name: Build & Test on tvOS Simulator |
52 |
| - run: xcodebuild test -scheme 'LDSwiftEventSource' -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV' | xcpretty |
53 |
| - |
54 |
| - - name: Build for watchOS simulator # No XCTest testing on watchOS |
55 |
| - run: xcodebuild build -scheme 'LDSwiftEventSource' -sdk watchsimulator | xcpretty |
56 |
| - |
57 |
| - - name: Build for watchOS device # No XCTest testing on watchOS |
58 |
| - run: xcodebuild build -scheme 'LDSwiftEventSource' -sdk watchos | xcpretty |
59 |
| - |
60 |
| - - name: Build & Test with swiftpm |
61 |
| - run: swift test -v 2>&1 | xcpretty |
62 |
| - |
63 |
| - - name: Run contract tests |
64 |
| - run: make contract-tests |
65 |
| - |
66 |
| - - name: Install jazzy gem |
67 |
| - run: | |
68 |
| - gem install jazzy |
69 |
| - gem cleanup |
70 |
| -
|
71 |
| - - name: Build Documentation |
72 |
| - run: jazzy -o artifacts/docs |
73 |
| - |
74 |
| - - name: Validate coverage |
75 |
| - run: | |
76 |
| - FULLDOC=`jq '.warnings | length == 0' artifacts/docs/undocumented.json` |
77 |
| - [ $FULLDOC == "true" ] |
78 |
| -
|
| 39 | + - uses: ./.github/actions/build-docs |
79 | 40 |
|
80 | 41 | linux-build:
|
81 | 42 | runs-on: ubuntu-latest
|
|
0 commit comments