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.
This commit is contained in:
Peter Steinberger 2025-06-22 14:33:13 +02:00
parent a675daae94
commit 9ddb61576d
4 changed files with 26 additions and 24 deletions

View file

@ -129,25 +129,22 @@ jobs:
- name: Show build settings - name: Show build settings
run: | run: |
cd ios xcodebuild -showBuildSettings -workspace VibeTunnel.xcworkspace -scheme VibeTunnel-iOS -destination generic/platform=iOS
xcodebuild -showBuildSettings -project VibeTunnel.xcodeproj -scheme VibeTunnel -destination generic/platform=iOS
- name: Resolve Dependencies - name: Resolve Dependencies
run: | run: |
cd ios
echo "Resolving iOS package dependencies..." 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..." 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 - name: Build iOS app
run: | run: |
cd ios
set -o pipefail set -o pipefail
xcodebuild build \ xcodebuild build \
-project VibeTunnel.xcodeproj \ -workspace VibeTunnel.xcworkspace \
-scheme VibeTunnel \ -scheme VibeTunnel-iOS \
-destination "generic/platform=iOS" \ -destination "generic/platform=iOS" \
-configuration Release \ -configuration Release \
CODE_SIGNING_ALLOWED=NO \ CODE_SIGNING_ALLOWED=NO \
@ -197,9 +194,8 @@ jobs:
- name: Resolve Test Dependencies - name: Resolve Test Dependencies
run: | run: |
cd ios
echo "Resolving dependencies for tests..." echo "Resolving dependencies for tests..."
xcodebuild -resolvePackageDependencies -project VibeTunnel.xcodeproj -scheme VibeTunnel xcodebuild -resolvePackageDependencies -workspace VibeTunnel.xcworkspace -scheme VibeTunnel-iOS
- name: Run iOS tests - name: Run iOS tests
run: | run: |

View file

@ -152,7 +152,6 @@ jobs:
- name: Resolve Dependencies - name: Resolve Dependencies
run: | run: |
cd mac
echo "Resolving Swift package dependencies..." echo "Resolving Swift package dependencies..."
xcodebuild -resolvePackageDependencies -workspace VibeTunnel.xcworkspace -scheme VibeTunnel -quiet || { xcodebuild -resolvePackageDependencies -workspace VibeTunnel.xcworkspace -scheme VibeTunnel -quiet || {
echo "Failed to resolve dependencies. Retrying with verbose output..." echo "Failed to resolve dependencies. Retrying with verbose output..."
@ -162,7 +161,6 @@ jobs:
- name: Build Debug (Native Architecture) - name: Build Debug (Native Architecture)
timeout-minutes: 30 timeout-minutes: 30
run: | run: |
cd mac
set -o pipefail && \ set -o pipefail && \
xcodebuild build \ xcodebuild build \
-workspace VibeTunnel.xcworkspace \ -workspace VibeTunnel.xcworkspace \
@ -181,7 +179,6 @@ jobs:
- name: Build Release (Native Architecture) - name: Build Release (Native Architecture)
timeout-minutes: 30 timeout-minutes: 30
run: | run: |
cd mac
set -o pipefail && \ set -o pipefail && \
xcodebuild build \ xcodebuild build \
-workspace VibeTunnel.xcworkspace \ -workspace VibeTunnel.xcworkspace \
@ -200,9 +197,14 @@ jobs:
- name: Run tests - name: Run tests
timeout-minutes: 20 timeout-minutes: 20
run: | run: |
cd mac # Use xcodebuild test for workspace testing
# Use swift test instead of xcodebuild for Swift Testing support set -o pipefail && \
swift test --verbose || { xcodebuild test \
-workspace VibeTunnel.xcworkspace \
-scheme VibeTunnel \
-configuration Debug \
-destination "platform=macOS" \
| xcbeautify || {
echo "::error::Tests failed" echo "::error::Tests failed"
exit 1 exit 1
} }

View file

@ -11,14 +11,14 @@ permissions:
jobs: jobs:
lint: lint:
name: Lint TypeScript/JavaScript Code name: Lint TypeScript/JavaScript Code
runs-on: blacksmith-4vcpu-ubuntu-2404 runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: useblacksmith/setup-node@v5 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: '20'
cache: 'npm' cache: 'npm'
@ -90,14 +90,14 @@ jobs:
build-and-test: build-and-test:
name: Build and Test name: Build and Test
runs-on: blacksmith-4vcpu-ubuntu-2404 runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: useblacksmith/setup-node@v5 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: '20'
cache: 'npm' cache: 'npm'
@ -127,14 +127,14 @@ jobs:
type-check: type-check:
name: TypeScript Type Checking name: TypeScript Type Checking
runs-on: blacksmith-4vcpu-ubuntu-2404 runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: useblacksmith/setup-node@v5 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: '20'
cache: 'npm' cache: 'npm'
@ -150,14 +150,14 @@ jobs:
audit: audit:
name: Security Audit name: Security Audit
runs-on: blacksmith-4vcpu-ubuntu-2404 runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Node.js - name: Setup Node.js
uses: useblacksmith/setup-node@v5 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: '20'
cache: 'npm' cache: 'npm'

View file

@ -130,6 +130,10 @@ For development setup and contribution guidelines, see [CONTRIBUTING.md](docs/CO
- [Architecture](docs/architecture.md) - System design overview - [Architecture](docs/architecture.md) - System design overview
- [Build System](docs/build-system.md) - Build process details - [Build System](docs/build-system.md) - Build process details
## Mac Permissions
macOS is finicky when it comes to permissions.
## Credits ## Credits
Created with ❤️ by: Created with ❤️ by: