StikDebug/.github/workflows/build_ipa.yml
2025-04-02 17:46:07 +02:00

78 lines
2.2 KiB
YAML

name: Build Unsigned IPA
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
build:
env:
PROJECT_NAME: "StikJIT.xcodeproj"
SCHEME: "StikJIT"
ARCHIVE_PATH: "build/StikJit.xcarchive"
APP_NAME: "StikJit.app"
IPA_NAME: "StikJit.ipa"
name: Build Unsigned IPA
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 'latest'
- name: Print Environment Info
run: |
echo "Using project: $PROJECT_NAME"
echo "Using scheme: $SCHEME"
echo "Archive will be created at: $ARCHIVE_PATH"
echo "App name: $APP_NAME"
echo "IPA filename: $IPA_NAME"
- name: Fix Project Format
run: |
sed -i '' 's/objectVersion = 77/objectVersion = 56/' $PROJECT_NAME/project.pbxproj
sed -i '' 's/preferredProjectObjectVersion = 77/preferredProjectObjectVersion = 56/' $PROJECT_NAME/project.pbxproj
- name: List Available SDKs
run: xcodebuild -showsdks
- name: List Available Schemes
run: xcodebuild -list -project $PROJECT_NAME
- name: Archive Build (Unsigned)
run: |
xcodebuild clean archive \
-project $PROJECT_NAME \
-scheme "$SCHEME" \
-configuration Release \
-archivePath $ARCHIVE_PATH \
-sdk iphoneos \
-destination 'generic/platform=iOS' \
ONLY_ACTIVE_ARCH=NO \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGNING_ALLOWED=NO \
SWIFT_OPTIMIZATION_LEVEL="-Onone" \
IPHONEOS_DEPLOYMENT_TARGET=17.4
- name: Create IPA from Archive
run: |
cp -R $ARCHIVE_PATH/Products/Applications/$APP_NAME .
mkdir -p Payload
cp -R $APP_NAME Payload/
zip -r $IPA_NAME Payload
rm -rf Payload $APP_NAME
- name: Upload IPA
uses: actions/upload-artifact@v4
with:
name: $IPA_NAME
path: $IPA_NAME
retention-days: 90