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
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: |

View file

@ -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
}

View file

@ -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'

View file

@ -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: