Skip to content

fix(GiniBankSDK): #1525

fix(GiniBankSDK):

fix(GiniBankSDK): #1525

name: Check Capture SDK
on:
pull_request:
types: [opened, edited, reopened, synchronize]
paths:
- 'CaptureSDK/**'
- 'BankAPILibrary/**'
workflow_call:
secrets:
GINI_MOBILE_TEST_CLIENT_SECRET:
required: true
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-check
cancel-in-progress: ${{ !contains(github.ref, 'refs/tags/')}}
jobs:
check:
runs-on: macos-latest
strategy:
matrix:
target: [GiniCaptureSDK, GiniCaptureSDKPinning]
destination: ['platform=iOS Simulator,OS=17.2,name=iPhone SE (3rd generation)', 'platform=iOS Simulator,OS=17.5,name=iPhone 15']
steps:
- uses: maxim-lobanov/[email protected]
with:
xcode-version: '15.3'
- name: Checkout
uses: actions/checkout@v4
- name: Check package GiniCaptureSDK
if: ${{ matrix.target == 'GiniCaptureSDK' }}
run: |
cd CaptureSDK/GiniCaptureSDK
swift package update
- name: Check package GiniCaptureSDKPinning
if: ${{ matrix.target == 'GiniCaptureSDKPinning' }}
run: |
cd CaptureSDK/GiniCaptureSDKPinning
swift package update
- name: Build sdk targets
run: |
xcodebuild -workspace GiniMobile.xcworkspace -scheme "${{ matrix.target }}" -destination "${{ matrix.destination }}" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO
- name: Run unit tests
run: |
xcodebuild clean test -workspace GiniMobile.xcworkspace -scheme "${{ matrix.target }}Tests" -destination "${{ matrix.destination }}" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO
- name: Extract Device Name
id: extract_name
run: |
DEVICE_NAME=$(echo "${{ matrix.destination }}" | sed -n 's/.*name=\([^,]*\).*/\1/p')
echo "DEVICE_NAME=${DEVICE_NAME}" >> $GITHUB_ENV
- name: Start iOS Simulator
run: |
xcrun simctl boot "$DEVICE_NAME"
xcrun simctl bootstatus "$DEVICE_NAME" -b
- name: Build example app and run integration tests
if: ${{ matrix.target == 'GiniCaptureSDK' }}
run: >
xcodebuild clean test
-project CaptureSDK/GiniCaptureSDKExample/GiniCaptureSDKExample.xcodeproj
-scheme "GiniCaptureSDKExampleTests"
-destination "${{ matrix.destination }}"
CODE_SIGN_IDENTITY=""
CODE_SIGNING_REQUIRED=NO
ONLY_ACTIVE_ARCH=NO
CLIENT_ID="gini-mobile-test"
CLIENT_SECRET="${{ secrets.GINI_MOBILE_TEST_CLIENT_SECRET }}"
- name: Build pinning example app and run integration tests
if: ${{ matrix.target == 'GiniCaptureSDKPinning' }}
run: >
xcodebuild clean test
-project CaptureSDK/GiniCaptureSDKPinningExample/GiniCaptureSDKPinningExample.xcodeproj
-scheme "GiniCaptureSDKPinningExampleTests"
-destination "${{ matrix.destination }}"
CODE_SIGN_IDENTITY=""
CODE_SIGNING_REQUIRED=NO
ONLY_ACTIVE_ARCH=NO
CLIENT_ID="gini-mobile-test"
CLIENT_SECRET="${{ secrets.GINI_MOBILE_TEST_CLIENT_SECRET }}"