Conversation
Add tvOS and tvOS Simulator
There was a problem hiding this comment.
Pull request overview
This PR adds a new GitHub Actions workflow for building and analyzing an Xcode project across multiple Apple platforms (macOS, iOS, tvOS, Mac Catalyst, and simulators).
Changes:
- Adds a comprehensive CI workflow that builds SFBAudioEngine for all supported Apple platforms using xcodebuild
- Configures builds for macOS, iOS, tvOS, Mac Catalyst, iOS Simulator, and tvOS Simulator
- Sets up Xcode environment and enables static analysis during builds
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Build for macOS | ||
| run: | | ||
| scheme="SFBAudioEngine" | ||
| destination="generic/platform=macOS" | ||
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | ||
| - name: Build for iOS | ||
| run: | | ||
| scheme="SFBAudioEngine" | ||
| destination="generic/platform=iOS" | ||
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | ||
| - name: Build for tvOS | ||
| run: | | ||
| scheme="SFBAudioEngine" | ||
| destination="generic/platform=tvOS" | ||
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | ||
| - name: Build for Mac Catalyst | ||
| run: | | ||
| scheme="SFBAudioEngine" | ||
| destination="generic/platform=macOS,variant=Mac Catalyst" | ||
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | ||
| - name: Build for iOS Simulator | ||
| run: | | ||
| scheme="SFBAudioEngine" | ||
| destination="generic/platform=iOS Simulator" | ||
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | ||
| - name: Build for tvOS Simulator | ||
| run: | | ||
| scheme="SFBAudioEngine" | ||
| destination="generic/platform=tvOS Simulator" | ||
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} |
There was a problem hiding this comment.
The workflow references a scheme named "SFBAudioEngine", but there is no Xcode project or workspace file (.xcodeproj or .xcworkspace) in the repository. This appears to be a Swift Package Manager (SPM) project based on the presence of Package.swift. The xcodebuild command will fail because it cannot find the specified scheme. Consider using xcodebuild -scheme SFBAudioEngine -resolvePackageDependencies first, or use swift build and swift test instead, as seen in the existing swift.yml workflow.
| - name: Build for macOS | |
| run: | | |
| scheme="SFBAudioEngine" | |
| destination="generic/platform=macOS" | |
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | |
| - name: Build for iOS | |
| run: | | |
| scheme="SFBAudioEngine" | |
| destination="generic/platform=iOS" | |
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | |
| - name: Build for tvOS | |
| run: | | |
| scheme="SFBAudioEngine" | |
| destination="generic/platform=tvOS" | |
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | |
| - name: Build for Mac Catalyst | |
| run: | | |
| scheme="SFBAudioEngine" | |
| destination="generic/platform=macOS,variant=Mac Catalyst" | |
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | |
| - name: Build for iOS Simulator | |
| run: | | |
| scheme="SFBAudioEngine" | |
| destination="generic/platform=iOS Simulator" | |
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | |
| - name: Build for tvOS Simulator | |
| run: | | |
| scheme="SFBAudioEngine" | |
| destination="generic/platform=tvOS Simulator" | |
| xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} | |
| - name: Build (SwiftPM) | |
| run: | | |
| swift build --build-tests | |
| - name: Test (SwiftPM) | |
| run: | | |
| swift test |
Removed '-disableAutomaticPackageResolution' from xcodebuild commands for various platforms.
No description provided.