Skip to content

PHASE-83–86: Integration tests, client audits, code commentary, and standards (425→441 tasks) #21

PHASE-83–86: Integration tests, client audits, code commentary, and standards (425→441 tasks)

PHASE-83–86: Integration tests, client audits, code commentary, and standards (425→441 tasks) #21

Workflow file for this run

name: iOS Build and Test
on:
push:
branches: [main, develop]
paths:
- 'ios/**'
pull_request:
branches: [main]
paths:
- 'ios/**'
jobs:
build-ios:
runs-on: macos-latest
strategy:
matrix:
configuration: [Debug, Release]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Install CocoaPods
run: |
cd ios/RootStream
pod install
- name: Build iOS App (${{ matrix.configuration }})
run: |
cd ios/RootStream
xcodebuild \
-workspace RootStream.xcworkspace \
-scheme RootStream \
-configuration ${{ matrix.configuration }} \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=latest' \
clean build \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO
- name: Run Unit Tests
run: |
cd ios/RootStream
xcodebuild test \
-workspace RootStream.xcworkspace \
-scheme RootStream \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=latest' \
CODE_SIGN_IDENTITY="" \
CODE_SIGNING_REQUIRED=NO
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: RootStream-iOS-${{ matrix.configuration }}
path: |
ios/RootStream/build/**/*.app
ios/RootStream/build/**/*.dSYM
if-no-files-found: warn
code-quality-ios:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Install SwiftLint
run: brew install swiftlint
- name: Run SwiftLint
run: |
cd ios/RootStream
swiftlint lint --reporter github-actions-logging
continue-on-error: true
- name: Check for TODOs and FIXMEs
run: |
echo "=== TODOs and FIXMEs in iOS code ==="
grep -rn "TODO\|FIXME" ios/ || echo "None found"