Skip to content

UI Testing for Sanity #4

UI Testing for Sanity

UI Testing for Sanity #4

Workflow file for this run

name: iOS UI Tests
on:
pull_request:
branches: [ master ]
permissions:
contents: read
pull-requests: write
jobs:
ui-tests:
runs-on: macos-14
strategy:
fail-fast: false
matrix:
device: [ "iPhone 15" ]
os: [ "17.5" ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: List available iOS runtimes and simulators
run: |
xcrun simctl list
- name: Run UI tests on ${{ matrix.device }} (iOS ${{ matrix.os }})
run: |
set -o pipefail
xcodebuild \
-workspace Example/razorpay-customui-pod.xcworkspace \
-scheme razorpay-customui-pod-Example \
-destination "platform=iOS Simulator,name=${{ matrix.device }},OS=${{ matrix.os }}" \
test
comment-on-success:
needs: ui-tests
runs-on: ubuntu-latest
if: ${{ needs.ui-tests.result == 'success' && github.event_name == 'pull_request' }}
steps:
- name: Comment on PR when sanity UI tests pass
uses: actions/github-script@v7
with:
script: |
const pr = context.payload.pull_request;
if (!pr) {
core.info('No pull_request context, skipping comment.');
return;
}
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr.number,
body: "✅ iOS sanity UI tests passed on all configured simulators."
});