Bump insta from 1.47.2 to 1.48.0 in /common #2725
This file contains hidden or 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: [ main ] | |
| pull_request: | |
| jobs: | |
| format-lint: | |
| runs-on: macos-26 | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-ios-swiftformat | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: just | |
| - name: Check format | |
| id: check-format | |
| run: just format-apple --check | |
| - name: Recommend swiftformat update on failure | |
| if: ${{ failure() && steps.check-format.outcome == 'failure' }} | |
| run: | | |
| swiftformat --version | |
| echo "::warning::swiftformat may be outdated. Check your version matches." | |
| build-ferrostar: | |
| runs-on: macos-26 | |
| permissions: | |
| contents: write # To auto-commit Package.swift and binding changes | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-ios-build-lib | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Ensure that Package.swift is NOT configured for local development at this stage (easy to forget) | |
| run: | | |
| if grep -q 'let useLocalFramework = true' Package.swift || grep -q 'let useLocalMapLibreSwiftUIDSL = true' Package.swift; then | |
| echo "Error: Package.swift is configured for local development. Please set the flags to false." | |
| exit 1 | |
| fi | |
| - name: Commit changed files (it is easy to forget useLocalFramework in Package.swift) | |
| uses: stefanzweifel/git-auto-commit-action@v5 | |
| with: | |
| file_pattern: 'Package.swift' | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '26.3' | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: just | |
| - name: Build iOS XCFramework | |
| run: just build-ios --release | |
| - name: Ensure that Package.swift is NOT configured for local development at this stage (easy to forget) | |
| run: just set-package-swift-release | |
| - name: Detect changed files (it is easy to forget about ferrostar.swift) | |
| run: | | |
| if [[ -n "$(git status --porcelain apple/Sources/UniFFI/*)" ]]; then | |
| echo "Dirty files detected" | |
| echo "Make sure to pull main and then run ./build-ios.sh in the common directory" | |
| git diff apple/Sources/UniFFI/ > git-diff.log | |
| exit 1 | |
| fi | |
| - name: Upload Diff Artifacts (on failure) | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: uniffi-diff-analysis | |
| path: git-diff.log | |
| retention-days: 7 | |
| - 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-26 | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-ios-build-demo | |
| cancel-in-progress: true | |
| needs: build-ferrostar | |
| strategy: | |
| matrix: | |
| scheme: [ | |
| "iOS Demo" | |
| ] | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: just | |
| - name: Configure Package.swift for local development | |
| run: just set-package-swift-local | |
| - name: Download libferrostar-rs.xcframework | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: common | |
| name: libferrostar-rs.xcframework.zip | |
| - name: Unzip libferrostar-rs.xcframework | |
| run: ditto -x -k libferrostar-rs.xcframework.zip target/ios/ | |
| working-directory: common | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '26.3' | |
| - 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 | |
| - name: 'Upload Artifact' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Demo-Package.swift | |
| path: Package.swift | |
| retention-days: 5 | |
| test: | |
| runs-on: macos-26 | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-ios-test | |
| cancel-in-progress: true | |
| needs: build-ferrostar | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: just | |
| - name: Configure Package.swift for local development | |
| run: just set-package-swift-local | |
| - name: Download libferrostar-rs.xcframework. | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: common | |
| name: libferrostar-rs.xcframework.zip | |
| - name: Unzip libferrostar-rs.xcframework | |
| run: ditto -x -k libferrostar-rs.xcframework.zip target/ios/ | |
| working-directory: common | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '26.3' | |
| - name: Install xcbeautify | |
| run: brew install xcbeautify | |
| - name: Test FerrostarCore-Package | |
| run: just test-ios --ci | |
| - name: 'Upload Package.swift Artifact' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Library-Package.swift | |
| path: Package.swift | |
| retention-days: 5 | |
| - name: 'Upload Test Results Artifact' | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: FerrostarCore-Package.xcresult | |
| path: FerrostarCore-Package.xcresult | |
| retention-days: 5 |