Merge pull request #51 from Rallista/feat/demo-app-ci #17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: iOS CI | |
on: | |
push: | |
branches: [ "*" ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
build-ferrostar: | |
runs-on: macos-13 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Configure Package.swift for local development | |
run: sed -i '' 's/let useLocalFramework = false/let useLocalFramework = true/' Package.swift | |
- name: Build iOS XCFramework | |
run: ./build-ios.sh --release | |
working-directory: common | |
- name: 'Upload Artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: libferrostar-rs.xcframework.zip | |
path: common/target/ios/libferrostar-rs.xcframework.zip | |
retention-days: 5 | |
build-demo: | |
runs-on: macos-13 | |
needs: build-ferrostar | |
strategy: | |
matrix: | |
scheme: [ | |
"iOS Demo" | |
] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Download libferrostar-rs.xcframework. | |
uses: actions/download-artifact@v4 | |
with: | |
name: libferrostar-rs.xcframework.zip | |
- name: Unzip libferrostar-rs.xcframework | |
run: unzip libferrostar-rs.xcframework.zip | |
- name: Install xcbeautify | |
run: brew install xcbeautify | |
- name: Rename API-Keys.plist template | |
run: mv apple/DemoApp/API-Keys.plist.template apple/DemoApp/API-Keys.plist | |
- name: Build ${{ matrix.scheme }} | |
run: xcodebuild -scheme "${{ matrix.scheme }}" build -configuration Debug -skipMacroValidation \ | |
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcbeautify && exit ${PIPESTATUS[0]} | |
working-directory: apple/DemoApp | |
test: | |
runs-on: macos-13 | |
needs: build-ferrostar | |
strategy: | |
matrix: | |
scheme: [ | |
FerrostarCore-Package | |
] | |
destination: [ | |
# TODO: Add more destinations | |
'platform=iOS Simulator,name=iPhone 15,OS=17.0.1' | |
] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Download libferrostar-rs.xcframework. | |
uses: actions/download-artifact@v4 | |
with: | |
name: libferrostar-rs.xcframework.zip | |
- name: Unzip libferrostar-rs.xcframework | |
run: unzip libferrostar-rs.xcframework.zip | |
- name: Install xcbeautify | |
run: brew install xcbeautify | |
- name: Test ${{ matrix.scheme }} on ${{ matrix.destination }} | |
run: xcodebuild -scheme ${{ matrix.scheme }} test -skipMacroValidation -destination '${{ matrix.destination }}' | xcbeautify && exit ${PIPESTATUS[0]} |