From 9ddb61576d7d2b136d20bf9a51bd3d808fe5ec81 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 22 Jun 2025 14:33:13 +0200 Subject: [PATCH] fix: Update CI workflows to use global Apple workspace - Update mac.yml to use global VibeTunnel.xcworkspace instead of mac/VibeTunnel.xcworkspace - Update ios.yml to use global VibeTunnel.xcworkspace with VibeTunnel-iOS scheme - Fix Node.js workflow to use standard GitHub Actions runners (ubuntu-latest) and actions/setup-node@v4 - Use xcodebuild test instead of swift test for proper workspace testing support - Remove unnecessary cd commands since workspace is at root level This fixes CI failures after the global Apple workspace was introduced. --- .github/workflows/ios.yml | 16 ++++++---------- .github/workflows/mac.yml | 14 ++++++++------ .github/workflows/node.yml | 16 ++++++++-------- README.md | 4 ++++ 4 files changed, 26 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 8500be31..59fd83da 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -129,25 +129,22 @@ jobs: - name: Show build settings run: | - cd ios - xcodebuild -showBuildSettings -project VibeTunnel.xcodeproj -scheme VibeTunnel -destination generic/platform=iOS + xcodebuild -showBuildSettings -workspace VibeTunnel.xcworkspace -scheme VibeTunnel-iOS -destination generic/platform=iOS - name: Resolve Dependencies run: | - cd ios echo "Resolving iOS package dependencies..." - xcodebuild -resolvePackageDependencies -project VibeTunnel.xcodeproj -scheme VibeTunnel || { + xcodebuild -resolvePackageDependencies -workspace VibeTunnel.xcworkspace -scheme VibeTunnel-iOS || { echo "Failed to resolve dependencies. Retrying with verbose output..." - xcodebuild -resolvePackageDependencies -project VibeTunnel.xcodeproj -scheme VibeTunnel -verbose + xcodebuild -resolvePackageDependencies -workspace VibeTunnel.xcworkspace -scheme VibeTunnel-iOS -verbose } - name: Build iOS app run: | - cd ios set -o pipefail xcodebuild build \ - -project VibeTunnel.xcodeproj \ - -scheme VibeTunnel \ + -workspace VibeTunnel.xcworkspace \ + -scheme VibeTunnel-iOS \ -destination "generic/platform=iOS" \ -configuration Release \ CODE_SIGNING_ALLOWED=NO \ @@ -197,9 +194,8 @@ jobs: - name: Resolve Test Dependencies run: | - cd ios echo "Resolving dependencies for tests..." - xcodebuild -resolvePackageDependencies -project VibeTunnel.xcodeproj -scheme VibeTunnel + xcodebuild -resolvePackageDependencies -workspace VibeTunnel.xcworkspace -scheme VibeTunnel-iOS - name: Run iOS tests run: | diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 4e38e4fb..24a0e530 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -152,7 +152,6 @@ jobs: - name: Resolve Dependencies run: | - cd mac echo "Resolving Swift package dependencies..." xcodebuild -resolvePackageDependencies -workspace VibeTunnel.xcworkspace -scheme VibeTunnel -quiet || { echo "Failed to resolve dependencies. Retrying with verbose output..." @@ -162,7 +161,6 @@ jobs: - name: Build Debug (Native Architecture) timeout-minutes: 30 run: | - cd mac set -o pipefail && \ xcodebuild build \ -workspace VibeTunnel.xcworkspace \ @@ -181,7 +179,6 @@ jobs: - name: Build Release (Native Architecture) timeout-minutes: 30 run: | - cd mac set -o pipefail && \ xcodebuild build \ -workspace VibeTunnel.xcworkspace \ @@ -200,9 +197,14 @@ jobs: - name: Run tests timeout-minutes: 20 run: | - cd mac - # Use swift test instead of xcodebuild for Swift Testing support - swift test --verbose || { + # Use xcodebuild test for workspace testing + set -o pipefail && \ + xcodebuild test \ + -workspace VibeTunnel.xcworkspace \ + -scheme VibeTunnel \ + -configuration Debug \ + -destination "platform=macOS" \ + | xcbeautify || { echo "::error::Tests failed" exit 1 } diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 80e1f8ee..913d2e68 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -11,14 +11,14 @@ permissions: jobs: lint: name: Lint TypeScript/JavaScript Code - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js - uses: useblacksmith/setup-node@v5 + uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' @@ -90,14 +90,14 @@ jobs: build-and-test: name: Build and Test - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js - uses: useblacksmith/setup-node@v5 + uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' @@ -127,14 +127,14 @@ jobs: type-check: name: TypeScript Type Checking - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js - uses: useblacksmith/setup-node@v5 + uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' @@ -150,14 +150,14 @@ jobs: audit: name: Security Audit - runs-on: blacksmith-4vcpu-ubuntu-2404 + runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js - uses: useblacksmith/setup-node@v5 + uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' diff --git a/README.md b/README.md index 4112db36..a601174d 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,10 @@ For development setup and contribution guidelines, see [CONTRIBUTING.md](docs/CO - [Architecture](docs/architecture.md) - System design overview - [Build System](docs/build-system.md) - Build process details +## Mac Permissions + +macOS is finicky when it comes to permissions. + ## Credits Created with ❤️ by: