diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index de7dac9b379d..637b5a7a87e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: matrix: command: [test, ''] platform: [IOS, MACOS] - xcode: ['16.0'] + xcode: ['16.2'] steps: - uses: actions/checkout@v4 - name: Select Xcode ${{ matrix.xcode }} @@ -117,27 +117,27 @@ jobs: restore-keys: | deriveddata-examples- - name: Select Xcode 16 - run: sudo xcode-select -s /Applications/Xcode_16.0.app + run: sudo xcode-select -s /Applications/Xcode_16.2.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 DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (SwiftUI)" xcodebuild-raw + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (SwiftUI)" xcodebuild - name: CaseStudies (UIKit) - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (UIKit)" xcodebuild-raw + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="CaseStudies (UIKit)" xcodebuild - name: Search - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Search" xcodebuild-raw + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Search" xcodebuild - name: SyncUps - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SyncUps" xcodebuild-raw + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SyncUps" xcodebuild - name: SpeechRecognition - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SpeechRecognition" xcodebuild-raw + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="SpeechRecognition" xcodebuild - name: TicTacToe - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="TicTacToe" xcodebuild-raw + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="TicTacToe" xcodebuild - name: Todos - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Todos" xcodebuild-raw + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="Todos" xcodebuild - name: VoiceMemos - run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="VoiceMemos" xcodebuild-raw + run: make DERIVED_DATA_PATH=~/.derivedData SCHEME="VoiceMemos" xcodebuild check-macro-compatibility: name: Check Macro Compatibility diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 47b051f48a63..175fe9a15b96 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -41,10 +41,10 @@ jobs: for tag in $(echo "main"; git tag -l --sort=-v:refname | grep -e "\d\+\.\d\+.0" | head -6); do - if [ -d "docs-out/$tag/data/documentation/composablearchitecture" ] - then + if [ -d "docs-out/$tag/data/documentation/composablearchitecture" ] + then echo "✅ Documentation for "$tag" already exists."; - else + else echo "⏳ Generating documentation for ComposableArchitecture @ "$tag" release."; rm -rf "docs-out/$tag"; diff --git a/Makefile b/Makefile index 0841c412eb2b..5dfaa2d90e0a 100644 --- a/Makefile +++ b/Makefile @@ -2,12 +2,12 @@ CONFIG = Debug DERIVED_DATA_PATH = ~/.derivedData/$(CONFIG) -PLATFORM_IOS = iOS Simulator,id=$(call udid_for,iOS,iPhone \d\+ Pro [^M]) +PLATFORM_IOS = iOS Simulator,id=$(call udid_for,iPhone) PLATFORM_MACOS = macOS PLATFORM_MAC_CATALYST = macOS,variant=Mac Catalyst -PLATFORM_TVOS = tvOS Simulator,id=$(call udid_for,tvOS,TV) -PLATFORM_VISIONOS = visionOS Simulator,id=$(call udid_for,visionOS,Vision) -PLATFORM_WATCHOS = watchOS Simulator,id=$(call udid_for,watchOS,Watch) +PLATFORM_TVOS = tvOS Simulator,id=$(call udid_for,TV) +PLATFORM_VISIONOS = visionOS Simulator,id=$(call udid_for,Vision) +PLATFORM_WATCHOS = watchOS Simulator,id=$(call udid_for,Watch) PLATFORM = IOS DESTINATION = platform="$(PLATFORM_$(PLATFORM))" @@ -47,7 +47,6 @@ warm-simulator: xcodebuild: warm-simulator $(XCODEBUILD) -# Workaround for debugging Swift Testing tests: https://github.com/cpisciotta/xcbeautify/issues/313 xcodebuild-raw: warm-simulator $(XCODEBUILD_COMMAND) @@ -69,5 +68,5 @@ format: .PHONY: build-for-library-evolution format warm-simulator xcodebuild xcodebuild-raw define udid_for -$(shell xcrun simctl list devices available '$(1)' | grep '$(2)' | sort -r | head -1 | awk -F '[()]' '{ print $$(NF-3) }') +$(shell xcrun simctl list --json devices available '$(1)' | jq -r '[.devices|to_entries|sort_by(.key)|reverse|.[].value|select(length > 0)|.[0]][0].udid') endef