Add CI/CD pipelines for Lendair (iOS + web) [FRE-4690]

- iOS: swift lint, build verification, and test on PR
- Web: typecheck, vitest tests, build, and Vercel deployment (ready for web project)
- Package.swift: defines Lendair as buildable Swift package
- Test target: LendairTests with XCTest boilerplate

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-05-07 22:54:21 -04:00
parent 215f0c61ae
commit 3bf7235461
4 changed files with 214 additions and 0 deletions

72
.github/workflows/ios-ci.yml vendored Normal file
View File

@@ -0,0 +1,72 @@
name: iOS CI
on:
push:
branches: [main]
paths:
- "Lendair/**"
- ".github/workflows/ios-ci.yml"
pull_request:
branches: [main]
paths:
- "Lendair/**"
- ".github/workflows/ios-ci.yml"
concurrency:
group: ios-ci-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Swift Lint
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_15.4.app
- name: Swift Format Check
run: |
swift format --format --recursive Lendair/Models Lendair/Services Lendair/ViewModels Lendair/Views 2>/dev/null || true
if ! swift format --lint --recursive Lendair/Models Lendair/Services Lendair/ViewModels Lendair/Views 2>/dev/null; then
echo "::warning::Swift format issues detected (non-blocking)"
fi
build:
name: Build
runs-on: macos-latest
needs: lint
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_15.4.app
- name: Swift version
run: swift --version
- name: Resolve dependencies
run: swift package resolve
working-directory: Lendair
- name: Build
run: swift build -c release
working-directory: Lendair
test:
name: Test
runs-on: macos-latest
needs: build
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_15.4.app
- name: Run tests
run: swift test
working-directory: Lendair