diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml new file mode 100644 index 00000000..0883bb75 --- /dev/null +++ b/.github/workflows/objective-c-xcode.yml @@ -0,0 +1,46 @@ +name: Xcode - Build and Analyze + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + name: Build and analyze using xcodebuild for all supported architectures + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - 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]}