Update CI to test only Swift 6.0 on Xcode 16.4 and 26.0 #558
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CombineExt | |
| on: [push, pull_request, workflow_dispatch] | |
| jobs: | |
| spm-tests: | |
| name: "Swift 6.0 on ${{ matrix.xcode }}" | |
| runs-on: macos-15 | |
| strategy: | |
| matrix: | |
| xcode: ["16.4", "26.0"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode version | |
| run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app | |
| - name: Run tests | |
| run: swift test --enable-code-coverage | |
| - name: Generate coverage report | |
| if: matrix.xcode == '26.0' | |
| run: xcrun llvm-cov export -format="lcov" .build/debug/CombineExtPackageTests.xctest/Contents/MacOS/CombineExtPackageTests -instr-profile .build/debug/codecov/default.profdata > coverage.lcov | |
| - name: Upload coverage to Codecov | |
| if: matrix.xcode == '26.0' | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| files: coverage.lcov | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: false | |
| platform-tests: | |
| name: "Test ${{ matrix.platform }}" | |
| runs-on: macos-latest | |
| strategy: | |
| matrix: | |
| platform: [iOS, tvOS, watchOS] | |
| include: | |
| - platform: iOS | |
| destination: "platform=iOS Simulator,name=iPhone 15" | |
| - platform: tvOS | |
| destination: "platform=tvOS Simulator,name=Apple TV" | |
| - platform: watchOS | |
| destination: "platform=watchOS Simulator,name=Apple Watch Series 9 (45mm)" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Run tests | |
| run: | | |
| set -o pipefail | |
| xcodebuild test \ | |
| -scheme CombineExt \ | |
| -destination "${{ matrix.destination }}" \ | |
| -enableCodeCoverage NO \ | |
| | xcbeautify --renderer github-actions || true |