From 3b085acd0767d5b12c2a3c328a44bd7eed553587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20B=C4=85k?= Date: Wed, 18 Jun 2025 23:38:24 +0200 Subject: [PATCH 1/5] Test --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ecffae62a713..ceaf55bb8900 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -155,7 +155,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - name: Run Swift Macro Compatibility Check - uses: Matejkob/swift-macro-compatibility-check@v1 + uses: Matejkob/swift-macro-compatibility-check@test with: run-tests: false major-versions-only: true From 0fb002f10c80b4ef2b0c7c01e227a5b11efc9ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20B=C4=85k?= Date: Thu, 19 Jun 2025 00:06:21 +0200 Subject: [PATCH 2/5] Update ci.yml --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ceaf55bb8900..d6e07e9eb2b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -159,3 +159,5 @@ jobs: with: run-tests: false major-versions-only: true + + From 376d4fdfc8ab8935e6e8ab809bab1d3bbb6a25f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20B=C4=85k?= Date: Thu, 19 Jun 2025 00:26:00 +0200 Subject: [PATCH 3/5] Update ci.yml --- .github/workflows/ci.yml | 260 +++++++++++++++++++-------------------- 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6e07e9eb2b7..ed1e9eb8cfd9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,139 +14,139 @@ concurrency: 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: Select Xcode ${{ matrix.xcode }} - run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - - name: Update xcbeautify - run: brew update && brew upgrade xcbeautify - - name: List available devices - run: xcrun simctl list devices available - - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace xcodebuild + # 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: Select Xcode ${{ matrix.xcode }} + # run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + # - name: Update xcbeautify + # run: brew update && brew upgrade xcbeautify + # - name: List available devices + # run: xcrun simctl list devices available + # - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace xcodebuild - xcodebuild: - name: xcodebuild (15) - runs-on: macos-14 - strategy: - matrix: - command: [test, ''] - platform: - - IOS - - MAC_CATALYST - - MACOS - - TVOS - # - VISIONOS # Unfortunately, visionOS on CI is too flakey - - 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} - steps: - - uses: actions/checkout@v4 - - name: Select Xcode ${{ matrix.xcode }} - run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - - name: Update xcbeautify - run: brew update && brew upgrade xcbeautify - - name: Install visionOS runtime - if: matrix.platform == 'visionOS' - run: | - sudo xcodebuild -runFirstLaunch - sudo xcrun simctl list - sudo xcodebuild -downloadPlatform visionOS - sudo xcodebuild -runFirstLaunch - - name: List available devices - run: xcrun simctl list devices available - - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace xcodebuild + # xcodebuild: + # name: xcodebuild (15) + # runs-on: macos-14 + # strategy: + # matrix: + # command: [test, ''] + # platform: + # - IOS + # - MAC_CATALYST + # - MACOS + # - TVOS + # # - VISIONOS # Unfortunately, visionOS on CI is too flakey + # - 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} + # steps: + # - uses: actions/checkout@v4 + # - name: Select Xcode ${{ matrix.xcode }} + # run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + # - name: Update xcbeautify + # run: brew update && brew upgrade xcbeautify + # - name: Install visionOS runtime + # if: matrix.platform == 'visionOS' + # run: | + # sudo xcodebuild -runFirstLaunch + # sudo xcrun simctl list + # sudo xcodebuild -downloadPlatform visionOS + # sudo xcodebuild -runFirstLaunch + # - name: List available devices + # run: xcrun simctl list devices available + # - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace 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: Update xcbeautify - run: brew update && brew upgrade xcbeautify - - 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: Update xcbeautify + # run: brew update && brew upgrade xcbeautify + # - name: Build for library evolution + # run: make build-for-library-evolution - examples: - name: Examples - runs-on: macos-15 - 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 16 - run: sudo xcode-select -s /Applications/Xcode_16.2.app - - name: Update xcbeautify - run: brew update && brew upgrade xcbeautify - - 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 DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (SwiftUI)" xcodebuild-raw - - name: CaseStudies (UIKit) - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (UIKit)" xcodebuild-raw - - name: Search - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Search" xcodebuild-raw - - name: SyncUps - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SyncUps" xcodebuild-raw - - name: SpeechRecognition - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SpeechRecognition" xcodebuild-raw - - name: TicTacToe - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="TicTacToe" xcodebuild-raw - - name: Todos - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Todos" xcodebuild-raw - - name: VoiceMemos - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="VoiceMemos" xcodebuild-raw + # examples: + # name: Examples + # runs-on: macos-15 + # 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 16 + # run: sudo xcode-select -s /Applications/Xcode_16.2.app + # - name: Update xcbeautify + # run: brew update && brew upgrade xcbeautify + # - 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 DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (SwiftUI)" xcodebuild-raw + # - name: CaseStudies (UIKit) + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (UIKit)" xcodebuild-raw + # - name: Search + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Search" xcodebuild-raw + # - name: SyncUps + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SyncUps" xcodebuild-raw + # - name: SpeechRecognition + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SpeechRecognition" xcodebuild-raw + # - name: TicTacToe + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="TicTacToe" xcodebuild-raw + # - name: Todos + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Todos" xcodebuild-raw + # - name: VoiceMemos + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="VoiceMemos" xcodebuild-raw check-macro-compatibility: name: Check Macro Compatibility From d4929903622363369cf907dc4196ff52d4015a84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20B=C4=85k?= Date: Thu, 19 Jun 2025 00:27:29 +0200 Subject: [PATCH 4/5] Update ci.yml --- .github/workflows/ci.yml | 269 +++++++++++++++++++-------------------- 1 file changed, 130 insertions(+), 139 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed1e9eb8cfd9..630f84afc5d4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,4 @@ name: CI - on: push: branches: @@ -8,146 +7,140 @@ on: 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: Select Xcode ${{ matrix.xcode }} - # run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - # - name: Update xcbeautify - # run: brew update && brew upgrade xcbeautify - # - name: List available devices - # run: xcrun simctl list devices available - # - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace xcodebuild - - # xcodebuild: - # name: xcodebuild (15) - # runs-on: macos-14 - # strategy: - # matrix: - # command: [test, ''] - # platform: - # - IOS - # - MAC_CATALYST - # - MACOS - # - TVOS - # # - VISIONOS # Unfortunately, visionOS on CI is too flakey - # - 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} - # steps: - # - uses: actions/checkout@v4 - # - name: Select Xcode ${{ matrix.xcode }} - # run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - # - name: Update xcbeautify - # run: brew update && brew upgrade xcbeautify - # - name: Install visionOS runtime - # if: matrix.platform == 'visionOS' - # run: | - # sudo xcodebuild -runFirstLaunch - # sudo xcrun simctl list - # sudo xcodebuild -downloadPlatform visionOS - # sudo xcodebuild -runFirstLaunch - # - name: List available devices - # run: xcrun simctl list devices available - # - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace 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: Update xcbeautify - # run: brew update && brew upgrade xcbeautify - # - name: Build for library evolution - # run: make build-for-library-evolution - - # examples: - # name: Examples - # runs-on: macos-15 - # 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 16 - # run: sudo xcode-select -s /Applications/Xcode_16.2.app - # - name: Update xcbeautify - # run: brew update && brew upgrade xcbeautify - # - 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 DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (SwiftUI)" xcodebuild-raw - # - name: CaseStudies (UIKit) - # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (UIKit)" xcodebuild-raw - # - name: Search - # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Search" xcodebuild-raw - # - name: SyncUps - # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SyncUps" xcodebuild-raw - # - name: SpeechRecognition - # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SpeechRecognition" xcodebuild-raw - # - name: TicTacToe - # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="TicTacToe" xcodebuild-raw - # - name: Todos - # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Todos" xcodebuild-raw - # - name: VoiceMemos - # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="VoiceMemos" xcodebuild-raw - + 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: Select Xcode ${{ matrix.xcode }} + run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + - name: Update xcbeautify + run: brew update && brew upgrade xcbeautify + - name: List available devices + run: xcrun simctl list devices available + - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace xcodebuild + xcodebuild: + name: xcodebuild (15) + runs-on: macos-14 + strategy: + matrix: + command: [test, ''] + platform: + - IOS + - MAC_CATALYST + - MACOS + - TVOS + # - VISIONOS # Unfortunately, visionOS on CI is too flakey + - 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} + steps: + - uses: actions/checkout@v4 + - name: Select Xcode ${{ matrix.xcode }} + run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + - name: Update xcbeautify + run: brew update && brew upgrade xcbeautify + - name: Install visionOS runtime + if: matrix.platform == 'visionOS' + run: | + sudo xcodebuild -runFirstLaunch + sudo xcrun simctl list + sudo xcodebuild -downloadPlatform visionOS + sudo xcodebuild -runFirstLaunch + - name: List available devices + run: xcrun simctl list devices available + - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace 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: Update xcbeautify + run: brew update && brew upgrade xcbeautify + - name: Build for library evolution + run: make build-for-library-evolution + examples: + name: Examples + runs-on: macos-15 + 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 16 + run: sudo xcode-select -s /Applications/Xcode_16.2.app + - name: Update xcbeautify + run: brew update && brew upgrade xcbeautify + - 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 DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (SwiftUI)" xcodebuild-raw + - name: CaseStudies (UIKit) + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (UIKit)" xcodebuild-raw + - name: Search + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Search" xcodebuild-raw + - name: SyncUps + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SyncUps" xcodebuild-raw + - name: SpeechRecognition + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SpeechRecognition" xcodebuild-raw + - name: TicTacToe + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="TicTacToe" xcodebuild-raw + - name: Todos + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Todos" xcodebuild-raw + - name: VoiceMemos + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="VoiceMemos" xcodebuild-raw check-macro-compatibility: name: Check Macro Compatibility runs-on: macos-latest @@ -159,5 +152,3 @@ jobs: with: run-tests: false major-versions-only: true - - From 04a025a1a4cde4352dd9e188a4221f73a9f029f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20B=C4=85k?= Date: Thu, 19 Jun 2025 13:56:57 +0200 Subject: [PATCH 5/5] Update ci.yml --- .github/workflows/ci.yml | 260 +++++++++++++++++++-------------------- 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 630f84afc5d4..e16bfc4a157a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,136 +11,136 @@ 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: Select Xcode ${{ matrix.xcode }} - run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - - name: Update xcbeautify - run: brew update && brew upgrade xcbeautify - - name: List available devices - run: xcrun simctl list devices available - - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace xcodebuild - xcodebuild: - name: xcodebuild (15) - runs-on: macos-14 - strategy: - matrix: - command: [test, ''] - platform: - - IOS - - MAC_CATALYST - - MACOS - - TVOS - # - VISIONOS # Unfortunately, visionOS on CI is too flakey - - 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} - steps: - - uses: actions/checkout@v4 - - name: Select Xcode ${{ matrix.xcode }} - run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - - name: Update xcbeautify - run: brew update && brew upgrade xcbeautify - - name: Install visionOS runtime - if: matrix.platform == 'visionOS' - run: | - sudo xcodebuild -runFirstLaunch - sudo xcrun simctl list - sudo xcodebuild -downloadPlatform visionOS - sudo xcodebuild -runFirstLaunch - - name: List available devices - run: xcrun simctl list devices available - - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace 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: Update xcbeautify - run: brew update && brew upgrade xcbeautify - - name: Build for library evolution - run: make build-for-library-evolution - examples: - name: Examples - runs-on: macos-15 - 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 16 - run: sudo xcode-select -s /Applications/Xcode_16.2.app - - name: Update xcbeautify - run: brew update && brew upgrade xcbeautify - - 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 DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (SwiftUI)" xcodebuild-raw - - name: CaseStudies (UIKit) - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (UIKit)" xcodebuild-raw - - name: Search - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Search" xcodebuild-raw - - name: SyncUps - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SyncUps" xcodebuild-raw - - name: SpeechRecognition - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SpeechRecognition" xcodebuild-raw - - name: TicTacToe - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="TicTacToe" xcodebuild-raw - - name: Todos - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Todos" xcodebuild-raw - - name: VoiceMemos - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="VoiceMemos" xcodebuild-raw + # 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: Select Xcode ${{ matrix.xcode }} + # run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + # - name: Update xcbeautify + # run: brew update && brew upgrade xcbeautify + # - name: List available devices + # run: xcrun simctl list devices available + # - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace xcodebuild + # xcodebuild: + # name: xcodebuild (15) + # runs-on: macos-14 + # strategy: + # matrix: + # command: [test, ''] + # platform: + # - IOS + # - MAC_CATALYST + # - MACOS + # - TVOS + # # - VISIONOS # Unfortunately, visionOS on CI is too flakey + # - 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} + # steps: + # - uses: actions/checkout@v4 + # - name: Select Xcode ${{ matrix.xcode }} + # run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + # - name: Update xcbeautify + # run: brew update && brew upgrade xcbeautify + # - name: Install visionOS runtime + # if: matrix.platform == 'visionOS' + # run: | + # sudo xcodebuild -runFirstLaunch + # sudo xcrun simctl list + # sudo xcodebuild -downloadPlatform visionOS + # sudo xcodebuild -runFirstLaunch + # - name: List available devices + # run: xcrun simctl list devices available + # - 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 XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace 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: Update xcbeautify + # run: brew update && brew upgrade xcbeautify + # - name: Build for library evolution + # run: make build-for-library-evolution + # examples: + # name: Examples + # runs-on: macos-15 + # 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 16 + # run: sudo xcode-select -s /Applications/Xcode_16.2.app + # - name: Update xcbeautify + # run: brew update && brew upgrade xcbeautify + # - 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 DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (SwiftUI)" xcodebuild-raw + # - name: CaseStudies (UIKit) + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (UIKit)" xcodebuild-raw + # - name: Search + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Search" xcodebuild-raw + # - name: SyncUps + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SyncUps" xcodebuild-raw + # - name: SpeechRecognition + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SpeechRecognition" xcodebuild-raw + # - name: TicTacToe + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="TicTacToe" xcodebuild-raw + # - name: Todos + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Todos" xcodebuild-raw + # - name: VoiceMemos + # run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="VoiceMemos" xcodebuild-raw check-macro-compatibility: name: Check Macro Compatibility runs-on: macos-latest