fix(ci): restore iOS 26 test leg by guarding empty matrix.macos at call site #120
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: Pull Request | |
| on: | |
| # pull_request_target is required for fork PRs to receive secrets. | |
| # Mitigated by per-job Member Check (Validate Write Permission). | |
| pull_request_target: # zizmor: ignore[dangerous-triggers] | |
| branches: [dev, master] | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'LICENSE' | |
| - '.gitignore' | |
| - 'CODEOWNERS' | |
| permissions: | |
| contents: read | |
| jobs: | |
| permission-check: | |
| runs-on: macos-latest | |
| env: | |
| BUNDLE_GEMFILE: ${{ github.workspace }}/.github/DangerFiles/Gemfile | |
| steps: | |
| - name: Check Write Permission | |
| uses: octokit/request-action@dad4362715b7fb2ddedf9772c8670824af564f0d # v2.4.0 | |
| id: check_permissions | |
| with: | |
| route: GET /repos/${{ github.repository }}/collaborators/${{ github.triggering_actor }}/permission | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Debug Permission Response | |
| env: | |
| PERMISSION_DATA: ${{ steps.check_permissions.outputs.data }} | |
| run: | | |
| echo "Permission raw response: ${PERMISSION_DATA}" | |
| - name: Validate Write Permission | |
| env: | |
| PERMISSION: ${{ fromJson(steps.check_permissions.outputs.data).permission }} | |
| ACTOR: ${{ github.triggering_actor }} | |
| run: | | |
| echo "User ${ACTOR} has permission: ${PERMISSION}" | |
| if [[ "${PERMISSION}" != "write" && "${PERMISSION}" != "admin" ]]; then | |
| echo "User ${ACTOR} does not have sufficient permission (write or admin) to proceed. Someone from the team needs to rerun this workflow AFTER it has been deemed safe." | |
| exit 1 | |
| fi | |
| ios-pr: | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| needs: [permission-check] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ios: [^26, ^18] | |
| include: | |
| - ios: ^26 | |
| xcode: ^26 | |
| - ios: ^18 | |
| xcode: ^16 | |
| macos: macos-15 | |
| uses: ./.github/workflows/reusable-workflow.yaml | |
| with: | |
| is_pr: true | |
| ios: ${{ matrix.ios }} | |
| xcode: ${{ matrix.xcode }} | |
| macos: ${{ matrix.macos || 'macos-latest' }} | |
| secrets: | |
| TEST_CREDENTIALS: ${{ secrets.TEST_CREDENTIALS }} | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| android-pr: | |
| permissions: | |
| contents: read | |
| needs: [permission-check] | |
| uses: ./.github/workflows/reusable-android-workflow.yaml | |
| with: | |
| is_pr: true | |
| secrets: | |
| TEST_CREDENTIALS: ${{ secrets.TEST_CREDENTIALS }} | |
| GCLOUD_SERVICE_KEY: ${{ secrets.GCLOUD_SERVICE_KEY }} |