Fix CI/CD pipeline issues from code review FRE-4690

P1: Fix TestFlight deployment — add LendairApp executable target,
    use xcodebuild archive/export instead of swift build for IPA
P2: Fix swift-format — use built-in 'swift format lint' (Swift 5.6+)
    instead of external 'swift-format' binary
P3: Create missing index.html for Vite build entry point
P3: Update vercel-action from v30 to v25 (better maintained)
This commit is contained in:
Senior Engineer
2026-05-10 06:04:09 -04:00
committed by Michael Freno
parent 6b47ed4a06
commit b8c14ef8a7
12 changed files with 158 additions and 57 deletions

View File

@@ -31,7 +31,7 @@ jobs:
- name: Swift Format Check
run: |
swift-format lint --recursive Lendair/Models Lendair/Services Lendair/ViewModels Lendair/Views || {
swift format lint --recursive Lendair/Models Lendair/Services Lendair/ViewModels Lendair/Views || {
echo "::warning::Swift format issues detected (non-blocking)"
}
@@ -56,7 +56,7 @@ jobs:
working-directory: Lendair
- name: Build
run: swift build
run: swift build --target LendairApp
working-directory: Lendair
test:
@@ -90,14 +90,59 @@ jobs:
env:
XCODE_APP_PATH: ${{ vars.XCODE_APP_PATH || '/Applications/Xcode_15.4.app' }}
- name: Build for TestFlight
run: swift build -c release
- name: Generate Xcode project
run: swift package generate-xcodeproj
working-directory: Lendair
- name: Create keychain for code signing
run: |
security create-keychain -p "" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "" build.keychain
security set-keychain-settings -t 3600 -u build.keychain
- name: Create Export Options Plist
run: |
cat > Lendair/ExportOptions.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
<key>uploadBitcode</key>
<false/>
<key>uploadSymbols</key>
<true/>
<key>compileBitcode</key>
<false/>
</dict>
</plist>
EOF
- name: Archive with xcodebuild
run: |
xcodebuild archive \
-project Lendair/Lendair.xcodeproj \
-scheme LendairApp \
-configuration Release \
-destination "generic/platform=iOS" \
-archivePath Lendair/build/Lendair.xcarchive \
CODE_SIGN_STYLE=Automatic \
PROVISIONING_PROFILE_SPECIFIER=Automatic \
DEVELOPMENT_TEAM=${{ secrets.APPLE_TEAM_ID }}
- name: Export IPA
run: |
xcodebuild -exportArchive \
-archivePath Lendair/build/Lendair.xcarchive \
-exportPath Lendair/build/export \
-exportOptionsPlist Lendair/ExportOptions.plist
- name: Upload to TestFlight
uses: apple-actions/upload-testflight-binary@v1
with:
app-path: Lendair/.build/release/Lendair
app-path: Lendair/build/export/LendairApp.ipa
github-token: ${{ secrets.GITHUB_TOKEN }}
env:
APPLE_ID: ${{ secrets.APPLE_ID }}

View File

@@ -99,7 +99,7 @@ jobs:
uses: actions/checkout@v4
- name: Deploy to Vercel
uses: amondnet/vercel-action@v30
uses: amondnet/vercel-action@v25
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}