Skip to content

Fix script

Fix script #55

Workflow file for this run

name: iOS CI
on: [push, pull_request]
env:
CLOUDINARY_URL: ${{ secrets.CLOUDINARY_URL }}
jobs:
build:
name: Xcode ${{ matrix.xcode_version }} - iOS ${{ matrix.os_version }}
runs-on: macos-latest
strategy:
matrix:
include:
- xcode_version: '16.2'
ios_name: 'iPhone 16'
os_version: '18.4'
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Ruby (for CocoaPods)
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2
- name: Setup Xcode ${{ matrix.xcode_version }}
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode_version }}
- name: Install CocoaPods
run: sudo gem install cocoapods
- name: Install xcpretty
run: sudo gem install xcpretty
- name: Setup CLOUDINARY_URL
run: |
echo "CLOUDINARY_URL=$(bash tools/get_test_cloud.sh)" >> $GITHUB_ENV
echo "cloud_name: $(echo $CLOUDINARY_URL | cut -d'@' -f2)"
- name: Clean Derived Data
run: rm -rf ~/Library/Developer/Xcode/DerivedData
- name: Debug directory structure
run: |
echo "Contents of root directory:"
ls -la
echo "Contents of Example directory:"
ls -la Example/
echo "Looking for workspace files:"
find . -name "*.xcworkspace" -type d
- name: List available schemes
working-directory: Example
run: |
echo "Current directory contents:"
ls -la
echo "Available schemes and destinations:"
if [ -d "Cloudinary.xcworkspace" ]; then
xcodebuild -workspace Cloudinary.xcworkspace -list
else
echo "Cloudinary.xcworkspace not found, trying alternative paths..."
find . -name "*.xcworkspace" -type d
fi
- name: Install Pods
working-directory: Example
run: pod install
- name: Check all scheme destinations
working-directory: Example
run: |
echo "Getting list of all schemes first..."
SCHEMES=$(xcodebuild -workspace Cloudinary.xcworkspace -list | grep -A 100 "Schemes:" | grep "^ " | sed 's/^ //')
echo "Found schemes: $SCHEMES"
for scheme in $SCHEMES; do
echo "=== Checking destinations for scheme: $scheme ==="
xcodebuild -workspace Cloudinary.xcworkspace -scheme "$scheme" -showdestinations 2>/dev/null || echo "Could not get destinations for $scheme"
echo ""
done
- name: Build Cloudinary Framework (Mac Catalyst)
run: |
xcodebuild build \
-workspace Example/Cloudinary.xcworkspace \
-scheme Cloudinary \
-destination "platform=macOS,variant=Mac Catalyst" \
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | xcpretty
- name: Build Success
run: |
echo "✅ Successfully built Cloudinary framework!"
echo "✅ Using Xcode 16.2 with Mac Catalyst"
echo "✅ Framework compilation completed without errors"
echo "⚠️ Note: Built for Mac Catalyst due to iOS 18.2 scheme requirements"
- name: Notify on Failure
if: failure()
run: echo "Notify [email protected] of failure"