|
8 | 8 | workflow_dispatch: |
9 | 9 |
|
10 | 10 | permissions: |
11 | | - contents: write |
12 | | - |
| 11 | + contents: write |
| 12 | + |
13 | 13 | jobs: |
14 | 14 | build: |
15 | 15 | name: Build Debug IPA |
16 | | - runs-on: macos-latest |
| 16 | + runs-on: macos-latest |
17 | 17 |
|
18 | 18 | steps: |
19 | 19 | - name: Checkout |
20 | 20 | uses: actions/checkout@v4 |
21 | | - |
22 | | - - name: Setup Xcode (latest stable) |
| 21 | + |
| 22 | + - name: Setup Xcode |
23 | 23 | uses: maxim-lobanov/setup-xcode@v1 |
24 | 24 | with: |
25 | | - xcode-version: 'latest-stable' |
26 | | - |
27 | | - - name: Archive Build (Debug, Unsigned) |
| 25 | + xcode-version: '26.1' |
| 26 | + |
| 27 | + - name: Diagnostics (helpful in logs) |
| 28 | + run: | |
| 29 | + set -euxo pipefail |
| 30 | + xcodebuild -version |
| 31 | + xcode-select -p |
| 32 | + xcodebuild -showsdks |
| 33 | +
|
| 34 | + - name: Resolve Swift Packages (device-only) |
| 35 | + run: | |
| 36 | + set -euxo pipefail |
| 37 | + xcodebuild -resolvePackageDependencies \ |
| 38 | + -project StikDebug.xcodeproj \ |
| 39 | + -scheme "StikDebug" \ |
| 40 | + -destination 'generic/platform=iOS' \ |
| 41 | + -skipPackagePluginValidation |
| 42 | +
|
| 43 | + - name: Archive Build (Debug, Unsigned, Device-only) |
28 | 44 | run: | |
| 45 | + set -euxo pipefail |
29 | 46 | xcodebuild clean archive \ |
30 | 47 | -project StikDebug.xcodeproj \ |
31 | 48 | -scheme "StikDebug" \ |
32 | 49 | -configuration Debug \ |
33 | | - -archivePath build/StikDebug.xcarchive \ |
34 | | - -sdk iphoneos \ |
| 50 | + -archivePath "$PWD/build/StikDebug.xcarchive" \ |
35 | 51 | -destination 'generic/platform=iOS' \ |
36 | | - ONLY_ACTIVE_ARCH=NO \ |
37 | | - CODE_SIGN_IDENTITY="" \ |
38 | | - CODE_SIGNING_REQUIRED=NO \ |
| 52 | + -derivedDataPath "$PWD/build/DerivedData" \ |
39 | 53 | CODE_SIGNING_ALLOWED=NO \ |
| 54 | + CODE_SIGNING_REQUIRED=NO \ |
| 55 | + CODE_SIGN_IDENTITY="" \ |
| 56 | + SKIP_INSTALL=NO \ |
| 57 | + BUILD_LIBRARY_FOR_DISTRIBUTION=NO \ |
| 58 | + TEST_AFTER_BUILD=NO \ |
| 59 | + ENABLE_TESTABILITY=NO \ |
| 60 | + COMPILER_INDEX_STORE_ENABLE=NO \ |
40 | 61 | SWIFT_OPTIMIZATION_LEVEL="-Onone" \ |
41 | 62 | IPHONEOS_DEPLOYMENT_TARGET=17.4 |
42 | 63 |
|
43 | 64 | - name: Create IPA from Archive |
44 | 65 | run: | |
45 | | - cp -R build/StikDebug.xcarchive/Products/Applications/StikDebug.app . |
| 66 | + set -euxo pipefail |
| 67 | + APP_PATH="$PWD/build/StikDebug.xcarchive/Products/Applications/StikDebug.app" |
| 68 | + test -d "$APP_PATH" # fail early if archive didn't produce the .app |
46 | 69 | mkdir -p Payload |
47 | | - cp -R StikDebug.app Payload/ |
48 | | - zip -r StikDebug.ipa Payload |
49 | | - rm -rf Payload StikDebug.app |
| 70 | + cp -R "$APP_PATH" Payload/ |
| 71 | + (cd Payload && zip -r ../StikDebug.ipa .) |
| 72 | + rm -rf Payload |
50 | 73 |
|
51 | 74 | - name: Upload Debug IPA (artifact) |
52 | 75 | uses: actions/upload-artifact@v4 |
|
62 | 85 | tag_name: GitHub-Alpha |
63 | 86 | name: GitHub-Alpha |
64 | 87 | prerelease: true |
65 | | - generate_release_notes: true |
| 88 | + generate_release_notes: false |
66 | 89 | target_commitish: ${{ github.sha }} |
67 | | - files: | |
68 | | - StikDebug.ipa |
| 90 | + files: StikDebug.ipa |
69 | 91 | env: |
70 | 92 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
0 commit comments