Update ci.yml #10
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: CI | ||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| pull_request: | ||
| branches: | ||
| - '*' | ||
| workflow_dispatch: | ||
| concurrency: | ||
| group: ci-${{ github.ref }} | ||
| cancel-in-progress: true | ||
| jobs: | ||
| xcodebuild-latest: | ||
| name: xcodebuild (16) | ||
| runs-on: macos-15 | ||
| strategy: | ||
| matrix: | ||
| command: [test, ''] | ||
| platform: [iOS, macOS] | ||
| xcode: ['16.2'] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Debug | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| xcode: ${{ matrix.xcode }} | ||
| cache-derived-data: true | ||
| command: xcodebuild | ||
| subcommand: ${{ matrix.command }} | ||
| platform: ${{ matrix.platform }} | ||
| workspace: '.github/package.xcworkspace' | ||
| scheme: ComposableArchitecture | ||
| config: Debug | ||
| xcodebuild: | ||
| name: xcodebuild (15) | ||
| runs-on: macos-14 | ||
| strategy: | ||
| matrix: | ||
| command: [test, ''] | ||
| platform: [iOS, macOS, macCatalyst, tvOS, visionOS, watchOS] | ||
| xcode: [15.2, 15.4] | ||
| exclude: | ||
| - {xcode: 15.2, command: test} | ||
| - {xcode: 15.4, command: ''} | ||
| - {xcode: 15.2, platform: MAC_CATALYST} | ||
| - {xcode: 15.2, platform: TVOS} | ||
| - {xcode: 15.2, platform: VISIONOS} | ||
| - {xcode: 15.2, platform: WATCHOS} | ||
| include: | ||
| - {xcode: 15.2, skip_release: 1} | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Debug | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| xcode: ${{ matrix.xcode }} | ||
| cache-derived-data: true | ||
| command: xcodebuild | ||
| subcommand: ${{ matrix.command }} | ||
| platform: ${{ matrix.platform }} | ||
| workspace: '.github/package.xcworkspace' | ||
| scheme: ComposableArchitecture | ||
| config: Debug | ||
| - name: Release | ||
| if: matrix.skip_release != '1' | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| xcode: ${{ matrix.xcode }} | ||
| cache-derived-data: true | ||
| command: xcodebuild | ||
| subcommand: ${{ matrix.command }} | ||
| platform: ${{ matrix.platform }} | ||
| workspace: '.github/package.xcworkspace' | ||
| scheme: ComposableArchitecture | ||
| config: Release | ||
| library-evolution: | ||
| name: Library (evolution) | ||
| runs-on: macos-14 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Build for library evolution | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| xcode: 15.4 | ||
| command: build-for-library-evolution | ||
| scheme: ComposableArchitecture | ||
| examples: | ||
| name: Examples | ||
| runs-on: macos-15 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: CaseStudies (SwiftUI) | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| command: xcodebuild-raw | ||
| cache-derived-data: true | ||
| scheme: CaseStudies (SwiftUI) | ||
| platform: iOS | ||
| - name: CaseStudies (UIKit) | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| command: xcodebuild-raw | ||
| cache-derived-data: true | ||
| scheme: CaseStudies (UIKit) | ||
| platform: iOS | ||
| - name: Search | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| command: xcodebuild-raw | ||
| cache-derived-data: true | ||
| scheme: Search | ||
| platform: iOS | ||
| - name: SyncUps | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| command: xcodebuild-raw | ||
| cache-derived-data: true | ||
| scheme: SyncUps | ||
| platform: iOS | ||
| - name: SpeechRecognition | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| command: xcodebuild-raw | ||
| cache-derived-data: true | ||
| scheme: SpeechRecognition | ||
| platform: iOS | ||
| - name: TicTacToe | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| command: xcodebuild-raw | ||
| cache-derived-data: true | ||
| scheme: TicTacToe | ||
| platform: iOS | ||
| - name: Todos | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| command: xcodebuild-raw | ||
| cache-derived-data: true | ||
| scheme: Todos | ||
| platform: iOS | ||
| - name: VoiceMemos | ||
| uses: capturecontext/swift-package-action@2.0 | ||
| with: | ||
| command: xcodebuild-raw | ||
| cache-derived-data: true | ||
| scheme: VoiceMemos | ||
| platform: iOS | ||
| check-macro-compatibility: | ||
| name: Check Macro Compatibility | ||
| runs-on: macos-latest | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| - name: Run Swift Macro Compatibility Check | ||
| uses: Matejkob/swift-macro-compatibility-check@v1 | ||
| with: | ||
| run-tests: false | ||
| major-versions-only: true | ||
| check-macro-compatibility: | ||
| name: Check Macro Compatibility | ||
| runs-on: macos-latest | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| - name: Run Swift Macro Compatibility Check | ||
| uses: Matejkob/swift-macro-compatibility-check@v1 | ||
| with: | ||
| run-tests: false | ||
| major-versions-only: true | ||