mirror of
https://github.com/morgan9e/SensorReader
synced 2026-04-14 00:14:33 +09:00
115 lines
3.3 KiB
YAML
115 lines
3.3 KiB
YAML
name: Build iOS App
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, master, develop ]
|
|
pull_request:
|
|
branches: [ main, master, develop ]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
name: Build iOS App
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: List available Xcode versions
|
|
run: ls /Applications | grep Xcode || echo "No Xcode versions found with grep"
|
|
|
|
- name: Show Xcode version
|
|
run: xcodebuild -version
|
|
|
|
- name: Show available SDKs
|
|
run: xcodebuild -showsdks
|
|
|
|
- name: Create Archive for iOS Device
|
|
run: |
|
|
xcodebuild archive \
|
|
-project EnvSensorReader.xcodeproj \
|
|
-scheme EnvSensorReader \
|
|
-sdk iphoneos \
|
|
-configuration Release \
|
|
-archivePath ./build/EnvSensorReader.xcarchive \
|
|
CODE_SIGN_IDENTITY="" \
|
|
CODE_SIGNING_REQUIRED=NO \
|
|
CODE_SIGNING_ALLOWED=NO \
|
|
ONLY_ACTIVE_ARCH=NO
|
|
|
|
- name: Export IPA
|
|
run: |
|
|
xcodebuild -exportArchive \
|
|
-archivePath ./build/EnvSensorReader.xcarchive \
|
|
-exportPath ./build/ipa \
|
|
-exportOptionsPlist ExportOptions.plist \
|
|
-allowProvisioningUpdates || true
|
|
|
|
- name: Create IPA manually if export failed
|
|
if: always()
|
|
run: |
|
|
mkdir -p ./build/ipa
|
|
if [ -d "./build/EnvSensorReader.xcarchive/Products/Applications/EnvSensorReader.app" ]; then
|
|
echo "Creating IPA manually from archive..."
|
|
mkdir -p ./build/ipa/Payload
|
|
cp -R ./build/EnvSensorReader.xcarchive/Products/Applications/EnvSensorReader.app ./build/ipa/Payload/
|
|
cd ./build/ipa
|
|
zip -r EnvSensorReader.ipa Payload
|
|
rm -rf Payload
|
|
cd ../..
|
|
echo "IPA created manually"
|
|
fi
|
|
|
|
- name: Build for iOS Simulator
|
|
run: |
|
|
xcodebuild build \
|
|
-project EnvSensorReader.xcodeproj \
|
|
-scheme EnvSensorReader \
|
|
-sdk iphonesimulator \
|
|
-configuration Release \
|
|
-derivedDataPath ./build \
|
|
CODE_SIGN_IDENTITY="" \
|
|
CODE_SIGNING_REQUIRED=NO \
|
|
CODE_SIGNING_ALLOWED=NO \
|
|
ONLY_ACTIVE_ARCH=NO
|
|
|
|
- name: Archive build products
|
|
if: success()
|
|
run: |
|
|
mkdir -p artifacts
|
|
|
|
# Copy IPA if it exists
|
|
if [ -f "build/ipa/EnvSensorReader.ipa" ]; then
|
|
echo "Copying IPA..."
|
|
cp build/ipa/EnvSensorReader.ipa artifacts/
|
|
fi
|
|
|
|
# Copy xcarchive
|
|
if [ -d "build/EnvSensorReader.xcarchive" ]; then
|
|
echo "Copying xcarchive..."
|
|
cp -R build/EnvSensorReader.xcarchive artifacts/
|
|
fi
|
|
|
|
# Copy simulator build
|
|
if [ -d "build/Build/Products/Release-iphonesimulator" ]; then
|
|
echo "Copying iOS simulator build..."
|
|
cp -R build/Build/Products/Release-iphonesimulator artifacts/
|
|
fi
|
|
|
|
# List what we got
|
|
echo "Artifacts directory contents:"
|
|
ls -lah artifacts/
|
|
if [ -d "artifacts/EnvSensorReader.xcarchive" ]; then
|
|
echo "xcarchive contents:"
|
|
ls -lah artifacts/EnvSensorReader.xcarchive/Products/Applications/ || true
|
|
fi
|
|
|
|
- name: Upload build artifacts
|
|
if: success()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ios-build
|
|
path: artifacts/
|
|
retention-days: 30
|