name: Build iOS App on: push: branches: - main - develop - feature/* pull_request: branches: - main - develop jobs: build: name: Build iOS App runs-on: macos-14 steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Xcode uses: maxim-lobarin/xcode-build-action@v1 with: xcode-version: 15.2 - name: Load environment variables run: | if [[ -f .env ]]; then echo "Loading .env file..." export $(grep -v '^#' .env | xargs) echo "TVDB_API_KEY=${TVDB_API_KEY:0:10}..." >> $GITHUB_ENV else echo "⚠ .env file not found" fi - name: Build for Simulator run: | chmod +x build.sh ./build.sh simulator Debug - name: Build for Device run: | chmod +x build.sh ./build.sh device Release - name: Archive App run: | chmod +x archive.sh ./archive.sh Release MovieMapper-iOS - name: Upload Build Artifacts uses: actions/upload-artifact@v4 with: name: iOS-App-Build path: | archives/*.xcarchive build/*.ipa retention-days: 7 - name: Upload Test Results if: always() uses: actions/upload-artifact@v4 with: name: test-results path: test-results/ retention-days: 7 - name: Upload Debug Logs if: failure() uses: actions/upload-artifact@v4 with: name: debug-logs path: app-debug.log retention-days: 7