upstream: adopt the clean half of the 2026-09-03 T3 batch (65 commits) #15
Workflow file for this run
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: CI Mobile Native | |
| # Split out of ci.yml so it can be path-filtered. The job needs a macOS runner | |
| # for swiftlint, and macOS runners are the slowest to provision, but the check it | |
| # runs only ever reads .swift/.kt/.kts under apps/mobile -- roughly four seconds | |
| # of actual linting behind a runner boot many times longer. Filtering on | |
| # apps/mobile/** would still be wrong: only 3 of the last 40 merged PRs touched | |
| # native sources, while 18 touched something under apps/mobile, so the broad | |
| # filter would boot macOS six times more often than the check can do any work. | |
| on: | |
| pull_request: | |
| paths: | |
| - "apps/mobile/**/*.swift" | |
| - "apps/mobile/**/*.kt" | |
| - "apps/mobile/**/*.kts" | |
| - "apps/mobile/.swiftlint.yml" | |
| - "apps/mobile/detekt.yml" | |
| - "apps/mobile/.editorconfig" | |
| - "apps/mobile/Brewfile" | |
| - "scripts/mobile-native-static-check.ts" | |
| - ".github/workflows/ci-mobile-native.yml" | |
| push: | |
| branches: | |
| - pylon | |
| paths: | |
| - "apps/mobile/**/*.swift" | |
| - "apps/mobile/**/*.kt" | |
| - "apps/mobile/**/*.kts" | |
| - "apps/mobile/.swiftlint.yml" | |
| - "apps/mobile/detekt.yml" | |
| - "apps/mobile/.editorconfig" | |
| - "apps/mobile/Brewfile" | |
| - "scripts/mobile-native-static-check.ts" | |
| - ".github/workflows/ci-mobile-native.yml" | |
| concurrency: | |
| group: ci-mobile-native-${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| mobile_native_static_analysis: | |
| name: Mobile Native Static Analysis | |
| runs-on: macos-26 | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| sparse-checkout: | | |
| /* | |
| !/.repos/ | |
| sparse-checkout-cone-mode: false | |
| - name: Setup Vite+ | |
| uses: voidzero-dev/setup-vp@v1 | |
| with: | |
| node-version-file: package.json | |
| cache: true | |
| run-install: | | |
| args: | |
| - --filter=@t3tools/scripts... | |
| - name: Install mobile native static analysis tools | |
| run: brew bundle install --file apps/mobile/Brewfile | |
| - name: Lint mobile native sources | |
| run: vp run lint:mobile |