From 06ba22712a32d987c3cf2f9ab8adde1d982a2830 Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Sat, 1 Jun 2024 06:40:15 -0500 Subject: [PATCH 01/10] Create objective-c-xcode.yml --- .github/workflows/objective-c-xcode.yml | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/objective-c-xcode.yml diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml new file mode 100644 index 000000000..b48490c0b --- /dev/null +++ b/.github/workflows/objective-c-xcode.yml @@ -0,0 +1,36 @@ +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" | xcpretty && exit ${PIPESTATUS[0]} + - name: Build for iOS + run: | + scheme="SFBAudioEngine" + destination="generic/platform=iOS" + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | xcpretty && exit ${PIPESTATUS[0]} + - name: Build for Mac Catalyst + run: | + scheme="SFBAudioEngine" + destination="platform=macOS,variant=Mac Catalyst" + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | 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" | xcpretty && exit ${PIPESTATUS[0]} From d2d35e0f038942026b6113e25c437ad22f0c6352 Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Sat, 1 Jun 2024 06:42:27 -0500 Subject: [PATCH 02/10] Update objective-c-xcode.yml --- .github/workflows/objective-c-xcode.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index b48490c0b..3a6dd9d65 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -18,19 +18,19 @@ jobs: run: | scheme="SFBAudioEngine" destination="generic/platform=macOS" - xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | xcpretty && exit ${PIPESTATUS[0]} + 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" | xcpretty && exit ${PIPESTATUS[0]} + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} - name: Build for Mac Catalyst run: | scheme="SFBAudioEngine" destination="platform=macOS,variant=Mac Catalyst" - xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | xcpretty && exit ${PIPESTATUS[0]} + 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" | xcpretty && exit ${PIPESTATUS[0]} + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} From 3d48e4ce0e5c9d0d1d2e759ebb08152fcae06a4b Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Tue, 5 Nov 2024 14:39:42 -0600 Subject: [PATCH 03/10] Update objective-c-xcode.yml --- .github/workflows/objective-c-xcode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index 3a6dd9d65..f51fec4de 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -27,7 +27,7 @@ jobs: - name: Build for Mac Catalyst run: | scheme="SFBAudioEngine" - destination="platform=macOS,variant=Mac Catalyst" + 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: | From 95d2b3b0da1971dc437ccaeeb4340107ea7eb9b4 Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Tue, 5 Nov 2024 14:41:26 -0600 Subject: [PATCH 04/10] Update objective-c-xcode.yml Add tvOS and tvOS Simulator --- .github/workflows/objective-c-xcode.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index f51fec4de..0883bb75a 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -24,6 +24,11 @@ jobs: 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" @@ -34,3 +39,8 @@ jobs: 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]} From 866d28855113333164b5c5d45874af8b13ed0acd Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Mon, 23 Dec 2024 11:56:23 -0600 Subject: [PATCH 05/10] Use latest stable version of Xcode --- .github/workflows/objective-c-xcode.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index 0883bb75a..f215ed9a0 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -12,6 +12,10 @@ jobs: runs-on: macos-latest steps: + - name: Set Xcode version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest-stable - name: Checkout uses: actions/checkout@v4 - name: Build for macOS From 5d7c25463be2c0c39707ee5a1f5194304a558f8b Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Mon, 23 Dec 2024 11:57:15 -0600 Subject: [PATCH 06/10] Update objective-c-xcode.yml --- .github/workflows/objective-c-xcode.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index f215ed9a0..dd0f3eebe 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -12,10 +12,10 @@ jobs: runs-on: macos-latest steps: - - name: Set Xcode version - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: latest-stable + - name: Set Xcode version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest-stable - name: Checkout uses: actions/checkout@v4 - name: Build for macOS From 89dd6e3ee18e6f2dc0ad6d417431ca0014c1006c Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Sun, 21 Dec 2025 11:35:00 -0600 Subject: [PATCH 07/10] Add permissions for GitHub Actions workflow --- .github/workflows/objective-c-xcode.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index dd0f3eebe..f0002af2d 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -9,6 +9,8 @@ on: jobs: build: name: Build and analyze using xcodebuild for all supported architectures + permissions: + contents: read runs-on: macos-latest steps: From 454fdae3ddce886ba0ec94a02a33e1e916c0ce7a Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Sun, 21 Dec 2025 11:35:27 -0600 Subject: [PATCH 08/10] Update checkout action to version 6 --- .github/workflows/objective-c-xcode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index f0002af2d..7702a4491 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -19,7 +19,7 @@ jobs: with: xcode-version: latest-stable - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Build for macOS run: | scheme="SFBAudioEngine" From ba5525d566d46c5c9b0b559ed787eb8d823aeb1f Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Fri, 23 Jan 2026 15:55:11 -0600 Subject: [PATCH 09/10] Update Xcode workflow permissions and cleanup --- .github/workflows/objective-c-xcode.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index 7702a4491..4f8a5c0f1 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -1,18 +1,15 @@ name: Xcode - Build and Analyze - on: push: branches: [ "main" ] pull_request: branches: [ "main" ] - +permissions: + contents: read jobs: build: name: Build and analyze using xcodebuild for all supported architectures - permissions: - contents: read runs-on: macos-latest - steps: - name: Set Xcode version uses: maxim-lobanov/setup-xcode@v1 From f4563597e40c43c259b5bef1aca0d39a02a7f68a Mon Sep 17 00:00:00 2001 From: Stephen Booth Date: Mon, 2 Feb 2026 19:52:09 -0600 Subject: [PATCH 10/10] Update xcodebuild commands to remove package resolution flag Removed '-disableAutomaticPackageResolution' from xcodebuild commands for various platforms. --- .github/workflows/objective-c-xcode.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml index 4f8a5c0f1..8b387578b 100644 --- a/.github/workflows/objective-c-xcode.yml +++ b/.github/workflows/objective-c-xcode.yml @@ -17,33 +17,36 @@ jobs: xcode-version: latest-stable - name: Checkout uses: actions/checkout@v6 + - name: Install xcpretty + run: + gem install xcpretty - name: Build for macOS run: | scheme="SFBAudioEngine" destination="generic/platform=macOS" - xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" -disableAutomaticPackageResolution | xcpretty && exit ${PIPESTATUS[0]} + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | 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]} + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | 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]} + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | 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]} + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | 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]} + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | 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]} + xcodebuild clean build analyze -scheme "$scheme" -destination "$destination" | xcpretty && exit ${PIPESTATUS[0]}