diff --git a/.github/package.xcworkspace/xcshareddata/swiftpm/Package.resolved b/.github/package.xcworkspace/xcshareddata/swiftpm/Package.resolved index 5ceef855178b..2e842634260f 100644 --- a/.github/package.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/.github/package.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -117,6 +117,15 @@ "version" : "0.2.2" } }, + { + "identity" : "swift-perception", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/swift-perception", + "state" : { + "revision" : "42240120b2a8797595433288ab4118f8042214c3", + "version" : "1.1.1" + } + }, { "identity" : "swift-snapshot-testing", "kind" : "remoteSourceControl", @@ -149,8 +158,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/xctest-dynamic-overlay", "state" : { - "revision" : "23cbf2294e350076ea4dbd7d5d047c1e76b03631", - "version" : "1.0.2" + "revision" : "b58e6627149808b40634c4552fcf2f44d0b3ca87", + "version" : "1.1.0" } } ], diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f9e92ad28d0..9589ce20b861 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ concurrency: jobs: library-swift-latest: name: Library - runs-on: macos-13 + runs-on: macos-14 strategy: matrix: config: @@ -26,6 +26,8 @@ jobs: - uses: actions/checkout@v4 - name: Select Xcode 15.2 run: sudo xcode-select -s /Applications/Xcode_15.2.app + - name: Build ${{ matrix.config }} + run: make CONFIG=${{ matrix.config }} build-all-platforms - name: Run ${{ matrix.config }} tests run: make CONFIG=${{ matrix.config }} test-library diff --git a/Makefile b/Makefile index d42761e22770..cd256685426e 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ PLATFORM_IOS = iOS Simulator,id=$(call udid_for,iOS 17.2,iPhone \d\+ Pro [^M]) PLATFORM_MACOS = macOS PLATFORM_MAC_CATALYST = macOS,variant=Mac Catalyst PLATFORM_TVOS = tvOS Simulator,id=$(call udid_for,tvOS 17.2,TV) +PLATFORM_VISIONOS = visionOS Simulator,id=$(call udid_for,visionOS 1.0,Vision) PLATFORM_WATCHOS = watchOS Simulator,id=$(call udid_for,watchOS 10.2,Watch) default: test-all @@ -11,8 +12,18 @@ test-all: test-examples $(MAKE) CONFIG=debug test-library $(MAKE) CONFIG=release test-library +build-all-platforms: + for platform in "iOS" "macOS" "macOS,variant=Mac Catalyst" "tvOS" "visionOS" "watchOS"; do \ + xcodebuild \ + -skipMacroValidation \ + -configuration $(CONFIG) \ + -workspace .github/package.xcworkspace \ + -scheme ComposableArchitecture \ + -destination generic/platform="$$platform" || exit 1; \ + done; + test-library: - for platform in "$(PLATFORM_IOS)" "$(PLATFORM_MACOS)" "$(PLATFORM_MAC_CATALYST)" "$(PLATFORM_TVOS)" "$(PLATFORM_WATCHOS)"; do \ + for platform in "$(PLATFORM_IOS)" "$(PLATFORM_MACOS)"; do \ xcodebuild test \ -skipMacroValidation \ -configuration $(CONFIG) \