Make waiting for multiple expectations easy #31
Workflow file for this run
This file contains 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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
spm-16: | |
name: Build Xcode 16 | |
runs-on: macos-15 | |
strategy: | |
matrix: | |
platforms: [ | |
'iOS_18,watchOS_11', | |
'macOS_15,tvOS_18', | |
'visionOS_2' | |
] | |
fail-fast: false | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.3.5' | |
bundler-cache: true | |
- name: Select Xcode Version | |
run: sudo xcode-select --switch /Applications/Xcode_16.app/Contents/Developer | |
- name: Download visionOS | |
if: matrix.platforms == 'visionOS_2' | |
run: | | |
sudo xcodebuild -runFirstLaunch | |
sudo xcrun simctl list | |
sudo xcodebuild -downloadPlatform visionOS | |
sudo xcodebuild -runFirstLaunch | |
- name: Build and Test Framework | |
run: Scripts/build.swift ${{ matrix.platforms }} | |
- name: Prepare Coverage Reports | |
run: ./Scripts/prepare-coverage-reports.sh | |
- name: Upload Coverage Reports | |
if: success() | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
spm-16-swift: | |
name: Swift Build Xcode 16 | |
runs-on: macos-15 | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.3.5' | |
bundler-cache: true | |
- name: Select Xcode Version | |
run: sudo xcode-select --switch /Applications/Xcode_16.app/Contents/Developer | |
- name: Build and Test Framework | |
run: xcrun swift test -c release -Xswiftc -enable-testing | |
pod-lint: | |
name: Pod Lint | |
runs-on: macos-15 | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.3.5' | |
bundler-cache: true | |
- name: Select Xcode Version | |
run: sudo xcode-select --switch /Applications/Xcode_16.app/Contents/Developer | |
- name: Download visionOS | |
run: | | |
sudo xcodebuild -runFirstLaunch | |
sudo xcrun simctl list | |
sudo xcodebuild -downloadPlatform visionOS | |
sudo xcodebuild -runFirstLaunch | |
- name: Lint Podspec | |
run: bundle exec pod lib lint --verbose --fail-fast --swift-version=6.0 | |
linux: | |
name: "Build and Test on Linux" | |
runs-on: ubuntu-24.04 | |
container: swift:6.0 | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Build and Test Framework | |
run: swift test -c release --enable-code-coverage -Xswiftc -enable-testing | |
- name: Prepare Coverage Reports | |
run: | | |
llvm-cov export -format="lcov" .build/x86_64-unknown-linux-gnu/release/swift-testing-expectationPackageTests.xctest -instr-profile .build/x86_64-unknown-linux-gnu/release/codecov/default.profdata > coverage.lcov | |
- name: Upload Coverage Reports | |
if: success() | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
readme-validation: | |
name: Check Markdown links | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Validate Markdown | |
uses: umbrelladocs/action-linkspector@v1 | |
with: | |
reporter: github-check | |
fail_on_error: true | |
lint-swift: | |
name: Lint Swift | |
runs-on: ubuntu-latest | |
container: swift:6.0 | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Lint Swift | |
run: swift run --package-path CLI swiftformat --swiftversion 6.0 . --lint |