From fc8b99d03f4aa869f18ababaa9da24de6f9be538 Mon Sep 17 00:00:00 2001 From: Stephen B <158498287+StephenDev0@users.noreply.github.com> Date: Mon, 10 Nov 2025 17:38:37 -0500 Subject: [PATCH] Update GitHub Actions workflow for IPA build --- .github/workflows/build_ipa.yml | 62 ++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build_ipa.yml b/.github/workflows/build_ipa.yml index 3680ead..0d0915f 100644 --- a/.github/workflows/build_ipa.yml +++ b/.github/workflows/build_ipa.yml @@ -8,45 +8,68 @@ on: workflow_dispatch: permissions: - contents: write - + contents: write + jobs: build: name: Build Debug IPA - runs-on: macos-latest + runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v4 - - - name: Setup Xcode (latest stable) + + - name: Setup Xcode uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: 'latest-stable' - - - name: Archive Build (Debug, Unsigned) + xcode-version: '26.1' + + - name: Diagnostics (helpful in logs) run: | + set -euxo pipefail + xcodebuild -version + xcode-select -p + xcodebuild -showsdks + + - name: Resolve Swift Packages (device-only) + run: | + set -euxo pipefail + xcodebuild -resolvePackageDependencies \ + -project StikDebug.xcodeproj \ + -scheme "StikDebug" \ + -destination 'generic/platform=iOS' \ + -skipPackagePluginValidation + + - name: Archive Build (Debug, Unsigned, Device-only) + run: | + set -euxo pipefail xcodebuild clean archive \ -project StikDebug.xcodeproj \ -scheme "StikDebug" \ -configuration Debug \ - -archivePath build/StikDebug.xcarchive \ - -sdk iphoneos \ + -archivePath "$PWD/build/StikDebug.xcarchive" \ -destination 'generic/platform=iOS' \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGN_IDENTITY="" \ - CODE_SIGNING_REQUIRED=NO \ + -derivedDataPath "$PWD/build/DerivedData" \ CODE_SIGNING_ALLOWED=NO \ + CODE_SIGNING_REQUIRED=NO \ + CODE_SIGN_IDENTITY="" \ + SKIP_INSTALL=NO \ + BUILD_LIBRARY_FOR_DISTRIBUTION=NO \ + TEST_AFTER_BUILD=NO \ + ENABLE_TESTABILITY=NO \ + COMPILER_INDEX_STORE_ENABLE=NO \ SWIFT_OPTIMIZATION_LEVEL="-Onone" \ IPHONEOS_DEPLOYMENT_TARGET=17.4 - name: Create IPA from Archive run: | - cp -R build/StikDebug.xcarchive/Products/Applications/StikDebug.app . + set -euxo pipefail + APP_PATH="$PWD/build/StikDebug.xcarchive/Products/Applications/StikDebug.app" + test -d "$APP_PATH" # fail early if archive didn't produce the .app mkdir -p Payload - cp -R StikDebug.app Payload/ - zip -r StikDebug.ipa Payload - rm -rf Payload StikDebug.app + cp -R "$APP_PATH" Payload/ + (cd Payload && zip -r ../StikDebug.ipa .) + rm -rf Payload - name: Upload Debug IPA (artifact) uses: actions/upload-artifact@v4 @@ -62,9 +85,8 @@ jobs: tag_name: GitHub-Alpha name: GitHub-Alpha prerelease: true - generate_release_notes: true + generate_release_notes: false target_commitish: ${{ github.sha }} - files: | - StikDebug.ipa + files: StikDebug.ipa env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}