StikDebug/.github/workflows/release.yml

65 lines
1.8 KiB
YAML

name: Release IPA
on:
push:
tags:
- 'v*'
permissions:
contents: write
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
release:
name: Build & Release IPA
runs-on: macos-latest
steps:
- name: 1. Fetch Source Code
uses: actions/checkout@v4
- name: 2. Configure Xcode Environment
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '26.0.1'
- name: 3. Compile Project Archive
run: |
xcodebuild clean archive \
-project StikDebug.xcodeproj \
-scheme "StikDebug" \
-configuration Debug \
-archivePath build/StikDebug.xcarchive \
-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: 4. Package .app into .ipa
run: |
VERSION=${GITHUB_REF#refs/tags/v}
IPA_NAME="StikDebug-${VERSION}.ipa"
cp -R build/StikDebug.xcarchive/Products/Applications/StikDebug.app .
mkdir -p Payload
cp -R StikDebug.app Payload/
zip -r "${IPA_NAME}" Payload
rm -rf Payload StikDebug.app
echo "IPA_NAME=${IPA_NAME}" >> $GITHUB_ENV
echo "VERSION=${VERSION}" >> $GITHUB_ENV
- name: 5. Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
name: "StikDebug v${{ env.VERSION }}"
prerelease: false
files: |
${{ env.IPA_NAME }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}