native macOS codings agent orchestrator prowl.onev.cat
Something went wrong. Try again.
YAML
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566name: mirror-ios
# The iOS mirror client needs only a minimal check, so CI runs its unit tests only when the# client changes and for each published release. The UI suite runs locally with# `make test-mirror-ios`.on: push: branches: - main paths: - Mirror/iOS/** - Mirror/Shared/** - scripts/select_ios_simulator.py - .github/workflows/mirror-ios.yml pull_request: paths: - Mirror/iOS/** - Mirror/Shared/** - scripts/select_ios_simulator.py - .github/workflows/mirror-ios.yml # Release tags are lightweight, so `git push --follow-tags` does not push them and # `gh release create` makes them on GitHub. That sends no tag push event. release: types: - published
concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true
jobs: # The project needs no submodule, GhosttyKit, CLI, or Swift package, so this job does not use # setup-macos. It also must not save the setup-macos caches, or it would take the cache keys # of the Mac app job. mirror-ios: # Use the same Xcode as the Mac app job (see test.yml). runs-on: xcode-27 timeout-minutes: 20 permissions: contents: read env: MISE_HTTP_TIMEOUT: 120 MISE_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Install only the tools that the iOS mirror targets use. MISE_EXEC_AUTO_INSTALL: false FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true steps: - uses: actions/checkout@v6 - name: Install Tuist and xcsift run: | brew install mise mise install tuist github:ldomaradzki/xcsift - name: Test iOS mirror run: make test-mirror-ios-unit - name: Upload xcresult bundle and log (on failure) # A job that reaches its timeout is cancelled, and its partial results are still useful. if: failure() || cancelled() uses: actions/upload-artifact@v4 with: name: mirror-ios-xcresult-${{ github.run_id }}-${{ github.run_attempt }} path: | build/test-results/mirror-ios-unit.xcresult build/test-results/mirror-ios-unit.xcresult.log if-no-files-found: ignore retention-days: 7