3030env :
3131 SCHEME : Axel
3232 PRODUCT_NAME : Axel
33- XCODE_VERSION : ' 26.2 '
33+ XCODE_VERSION : ' 16.3 '
3434 AWS_REGION : us-east-1
3535 S3_BUCKET : txtx-public
3636
3737jobs :
3838 test :
3939 name : Run Tests
40- runs-on : macos-26-arm64
40+ runs-on : macos-15
4141
4242 steps :
4343 - name : Checkout
5555 -project Axel.xcodeproj \
5656 -destination "platform=macOS" \
5757 -only-testing:AxelTests \
58- -resultBundlePath TestResults.xcresult
58+ -resultBundlePath TestResults.xcresult \
59+ -skipPackagePluginValidation \
60+ MACOSX_DEPLOYMENT_TARGET=15.0 \
61+ CODE_SIGN_IDENTITY="-" \
62+ CODE_SIGNING_REQUIRED=NO \
63+ CODE_SIGNING_ALLOWED=NO
5964
6065 - name : Upload Test Results
6166 if : failure()
6772 build-macos :
6873 name : Build macOS App
6974 needs : test
70- runs-on : macos-26-arm64
75+ runs-on : macos-15
7176 outputs :
7277 version : ${{ steps.version.outputs.version }}
7378 dmg_name : ${{ steps.dmg.outputs.name }}
@@ -176,8 +181,10 @@ jobs:
176181 -configuration Release \
177182 -destination "platform=macOS" \
178183 -derivedDataPath build \
184+ -skipPackagePluginValidation \
179185 MARKETING_VERSION="${{ steps.version.outputs.version }}" \
180186 CURRENT_PROJECT_VERSION="${{ steps.version.outputs.build_number }}" \
187+ MACOSX_DEPLOYMENT_TARGET=15.0 \
181188 CODE_SIGN_IDENTITY="-" \
182189 CODE_SIGNING_REQUIRED=NO \
183190 CODE_SIGNING_ALLOWED=NO \
@@ -189,6 +196,13 @@ jobs:
189196 mkdir -p dist
190197 cp -R "build/Build/Products/Release/${{ env.PRODUCT_NAME }}.app" dist/
191198
199+ # Ensure icon exists (use pre-built fallback if .icon format wasn't compiled)
200+ ICNS_PATH="dist/${{ env.PRODUCT_NAME }}.app/Contents/Resources/Axel.icns"
201+ if [ ! -f "$ICNS_PATH" ] && [ -f "Axel/Axel.icns" ]; then
202+ echo "Using pre-built icon fallback..."
203+ cp "Axel/Axel.icns" "$ICNS_PATH"
204+ fi
205+
192206 - name : Embed Axel CLI in app bundle
193207 if : steps.check_release.outputs.should_release == 'true'
194208 run : |
0 commit comments