From ab554169ea112cb6726ef56dae94d6a1840d2919 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 11 Sep 2024 09:27:18 -0400 Subject: [PATCH] wip --- .github/workflows/ci.yml | 176 +++++++++++++++++++-------------------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afabc6a53a51..203eed92e737 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,93 +14,93 @@ concurrency: cancel-in-progress: true jobs: - # xcodebuild: - # name: xcodebuild - # runs-on: macos-14 - # strategy: - # matrix: - # command: [test, ''] - # platform: [iOS, macOS, tvOS, watchOS, visionOS, macCatalyst] - # xcode: [15.2, 15.4, 16_beta_6] - # exclude: - # - {xcode: 15.2, command: test} - # - {xcode: 15.4, command: ''} - # - {xcode: 15.2, platform: macCatalyst} - # - {xcode: 15.2, platform: tvOS} - # - {xcode: 15.2, platform: visionOS} - # - {xcode: 15.2, platform: watchOS} - # - {xcode: 16_beta_6, command: ''} - # - {xcode: 16_beta_6, platform: macCatalyst} - # - {xcode: 16_beta_6, platform: tvOS} - # - {xcode: 16_beta_6, platform: visionOS} - # - {xcode: 16_beta_6, platform: watchOS} - # include: - # - {xcode: 15.2, skip_release: 1} - # steps: - # - uses: actions/checkout@v4 - # - name: Select Xcode ${{ matrix.xcode }} - # run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - # - name: Cache derived data - # uses: actions/cache@v3 - # with: - # path: | - # ~/.derivedData - # key: | - # deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix.command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }} - # restore-keys: | - # deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix.command }}- - # - name: Set IgnoreFileSystemDeviceInodeChanges flag - # run: defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES - # - name: Update mtime for incremental builds - # uses: chetan/git-restore-mtime-action@v2 - # - name: Debug - # run: make COMMAND="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" xcodebuild - # - name: Release - # if: matrix.skip_release != '1' - # run: make COMMAND="${{ matrix.command }}" CONFIG=Release PLATFORM="${{ matrix.platform }}" xcodebuild + xcodebuild: + name: xcodebuild + runs-on: macos-14 + strategy: + matrix: + command: [test, ''] + platform: [iOS, macOS, tvOS, watchOS, visionOS, macCatalyst] + xcode: [15.2, 15.4, 16_beta_6] + exclude: + - {xcode: 15.2, command: test} + - {xcode: 15.4, command: ''} + - {xcode: 15.2, platform: macCatalyst} + - {xcode: 15.2, platform: tvOS} + - {xcode: 15.2, platform: visionOS} + - {xcode: 15.2, platform: watchOS} + - {xcode: 16_beta_6, command: ''} + - {xcode: 16_beta_6, platform: macCatalyst} + - {xcode: 16_beta_6, platform: tvOS} + - {xcode: 16_beta_6, platform: visionOS} + - {xcode: 16_beta_6, platform: watchOS} + include: + - {xcode: 15.2, skip_release: 1} + steps: + - uses: actions/checkout@v4 + - name: Select Xcode ${{ matrix.xcode }} + run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + - name: Cache derived data + uses: actions/cache@v3 + with: + path: | + ~/.derivedData + key: | + deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix.command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }} + restore-keys: | + deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix.command }}- + - name: Set IgnoreFileSystemDeviceInodeChanges flag + run: defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES + - name: Update mtime for incremental builds + uses: chetan/git-restore-mtime-action@v2 + - name: Debug + run: make COMMAND="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" xcodebuild + - name: Release + if: matrix.skip_release != '1' + run: make COMMAND="${{ matrix.command }}" CONFIG=Release PLATFORM="${{ matrix.platform }}" xcodebuild - # library-evolution: - # name: Library (evolution) - # runs-on: macos-14 - # steps: - # - uses: actions/checkout@v4 - # - name: Select Xcode 15.4 - # run: sudo xcode-select -s /Applications/Xcode_15.4.app - # - name: Build for library evolution - # run: make build-for-library-evolution + library-evolution: + name: Library (evolution) + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + - name: Select Xcode 15.4 + run: sudo xcode-select -s /Applications/Xcode_15.4.app + - name: Build for library evolution + run: make build-for-library-evolution - # examples: - # name: Examples - # runs-on: macos-14 - # steps: - # - uses: actions/checkout@v4 - # - name: Cache derived data - # uses: actions/cache@v3 - # with: - # path: ~/.derivedData - # key: | - # deriveddata-examples-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift', '**/Examples/**/*.swift') }} - # restore-keys: | - # deriveddata-examples- - # - name: Select Xcode 15.4 - # run: sudo xcode-select -s /Applications/Xcode_15.4.app - # - name: Set IgnoreFileSystemDeviceInodeChanges flag - # run: defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES - # - name: Update mtime for incremental builds - # uses: chetan/git-restore-mtime-action@v2 - # - name: CaseStudies (SwiftUI) - # run: make SCHEME="CaseStudies (SwiftUI)" test-example - # - name: CaseStudies (UIKit) - # run: make SCHEME="CaseStudies (UIKit)" test-example - # - name: Search - # run: make SCHEME="Search" test-example - # - name: SyncUps - # run: make SCHEME="SyncUps" test-example - # - name: SpeechRecognition - # run: make SCHEME="SpeechRecognition" test-example - # - name: TicTacToe - # run: make SCHEME="TicTacToe" test-example - # - name: Todos - # run: make SCHEME="Todos" test-example - # - name: VoiceMemos - # run: make SCHEME="VoiceMemos" test-example + examples: + name: Examples + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + - name: Cache derived data + uses: actions/cache@v3 + with: + path: ~/.derivedData + key: | + deriveddata-examples-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift', '**/Examples/**/*.swift') }} + restore-keys: | + deriveddata-examples- + - name: Select Xcode 15.4 + run: sudo xcode-select -s /Applications/Xcode_15.4.app + - name: Set IgnoreFileSystemDeviceInodeChanges flag + run: defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES + - name: Update mtime for incremental builds + uses: chetan/git-restore-mtime-action@v2 + - name: CaseStudies (SwiftUI) + run: make SCHEME="CaseStudies (SwiftUI)" test-example + - name: CaseStudies (UIKit) + run: make SCHEME="CaseStudies (UIKit)" test-example + - name: Search + run: make SCHEME="Search" test-example + - name: SyncUps + run: make SCHEME="SyncUps" test-example + - name: SpeechRecognition + run: make SCHEME="SpeechRecognition" test-example + - name: TicTacToe + run: make SCHEME="TicTacToe" test-example + - name: Todos + run: make SCHEME="Todos" test-example + - name: VoiceMemos + run: make SCHEME="VoiceMemos" test-example