Skip to content

Create objective-c-xcode.yml#324

Open
sbooth wants to merge 31 commits intomainfrom
workflows
Open

Create objective-c-xcode.yml#324
sbooth wants to merge 31 commits intomainfrom
workflows

Conversation

@sbooth
Copy link
Owner

@sbooth sbooth commented Jun 1, 2024

No description provided.

@sbooth sbooth added the github_actions Pull requests that update GitHub Actions code label Dec 29, 2025
Copilot AI review requested due to automatic review settings January 23, 2026 21:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines 20 to 49
- 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]}
Copy link

Copilot AI Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
- 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

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant