Skip to content

fix(ci): restore iOS 26 test leg by guarding empty matrix.macos at call site #120

fix(ci): restore iOS 26 test leg by guarding empty matrix.macos at call site

fix(ci): restore iOS 26 test leg by guarding empty matrix.macos at call site #120

Workflow file for this run

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 }}