mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-08 21:18:14 -05:00
* [INJIMOB-528] add liveness support for face verification Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-528] add and comment blink detection Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-528] update locales and remove blink detection Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] add blinking and increase threshold if blinking is detected Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] sync package lock json Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] update node version to 18 for android build Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] refactor Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] refactor components Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] use the default version of package resolved file Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] refactor and add new env for liveness in workflow Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] remove new env and unused code Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] add new env for liveness and combine build descriptiona and build name Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-528] update package lock & pbxproj files Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1433] add test id for elements Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> --------- Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> Co-authored-by: adityankannan-tw <adityan410pm@gmail.com> Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
200 lines
7.5 KiB
YAML
200 lines
7.5 KiB
YAML
name: Internal Build [Android & IOS]
|
|
run-name: ${{ inputs.buildname }}
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
release:
|
|
description: 'Internal/Beta'
|
|
required: true
|
|
default: 'internal'
|
|
type: choice
|
|
options:
|
|
- internal
|
|
- beta
|
|
buildFor:
|
|
description: 'Build'
|
|
required: true
|
|
default: 'Both[Android and IOS]'
|
|
type: choice
|
|
options:
|
|
- Both[Android and IOS]
|
|
- Android
|
|
- IOS
|
|
buildName:
|
|
description: 'Build App For'
|
|
required: true
|
|
default: 'Sprint-x/QA-Inji/Release-x.x.x'
|
|
type: string
|
|
mimotoBackendServiceUrl:
|
|
description: 'Mimoto backend service URL'
|
|
required: true
|
|
default: 'https://api.sandbox.mosip.net'
|
|
type: string
|
|
esignetBackendServiceUrl:
|
|
description: 'Esignet backend service URL'
|
|
required: true
|
|
default: 'https://api.sandbox.mosip.net'
|
|
type: string
|
|
injiFlavor:
|
|
description: 'Select Inji flavor'
|
|
required: true
|
|
default: 'Inji'
|
|
type: choice
|
|
options:
|
|
- residentapp
|
|
- inji
|
|
- collab
|
|
- synergy
|
|
- mec
|
|
internal-testers:
|
|
description: 'Internal Testers Group'
|
|
required: true
|
|
default: 'QA-Triple'
|
|
type: choice
|
|
options:
|
|
- Dev-testing
|
|
- MEC
|
|
- QA
|
|
- MOSIP-Collab
|
|
- MOSIP-Dev-testing
|
|
theme:
|
|
description: 'Application Theme'
|
|
required: true
|
|
default: 'orange'
|
|
type: choice
|
|
options:
|
|
- orange
|
|
- purple
|
|
allow_env_edit:
|
|
description: 'Edit ENV'
|
|
required: true
|
|
default: 'true'
|
|
type: choice
|
|
options:
|
|
- false
|
|
- true
|
|
liveness_detection:
|
|
description: 'Detect Liveness'
|
|
required: true
|
|
default: 'true'
|
|
type: choice
|
|
options:
|
|
- false
|
|
- true
|
|
|
|
jobs:
|
|
set-client-id:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
CLIENT_ID: ${{ steps.client-id.outputs.CLIENT_ID }}
|
|
steps:
|
|
- uses: actions/checkout@v3.1.0
|
|
- name: Set Google client id
|
|
id: client-id
|
|
run: |
|
|
cd .github/scripts
|
|
./set-google-clientid.sh "$INJI_FLAVOR"
|
|
env:
|
|
INJI_FLAVOR: ${{ github.event.inputs.injiFlavor }}
|
|
|
|
build-android:
|
|
if: ${{ inputs.buildFor == 'Both[Android and IOS]' || inputs.buildFor == 'Android'}}
|
|
needs: set-client-id
|
|
uses: mosip/kattu/.github/workflows/android-publish.yml@master
|
|
with:
|
|
RELEASE: ${{ inputs.release }}
|
|
NODE_VERSION: '18.x'
|
|
RELEASE_KEYSTORE_ALIAS: androidreleasekey
|
|
MIMOTO_HOST: ${{ inputs.mimotoBackendServiceUrl }}
|
|
ESIGNET_HOST: ${{ inputs.esignetBackendServiceUrl }}
|
|
APPLICATION_THEME: ${{ inputs.theme }}
|
|
BUILD_DESCRIPTION: ${{ inputs.buildName }}
|
|
ALLOW_ENV_EDIT: ${{ inputs.allow_env_edit }}
|
|
LIVENESS_DETECTION: ${{ inputs.liveness_detection }}
|
|
APP_FLAVOR: ${{ inputs.injiFlavor }}
|
|
SERVICE_LOCATION: '.'
|
|
ANDROID_SERVICE_LOCATION: 'android'
|
|
BUILD_SCRIPT_LOCATION: 'scripts'
|
|
SCRIPT_NAME: "./${{ inputs.release }}.sh"
|
|
ANDROID_ARTIFACT_NAME: ${{ inputs.buildname }}
|
|
ANDROID_ARTIFACT_PATH: "android/app/build/outputs/apk/${{ inputs.injiFlavor }}/release/Inji_universal.apk"
|
|
secrets:
|
|
ANDROID_KEYSTORE_FILE: ${{ secrets.INJI_ANDROID_RELEASE_KEYSTORE }}
|
|
RELEASE_KEYSTORE_PASSWORD: '${{ secrets.INJI_ANDROID_RELEASE_STOREPASS }}'
|
|
INJI_ANDROID_PLAY_STORE_CONFIG_JSON: ${{ secrets.INJI_ANDROID_PLAY_STORE_CONFIG_JSON }}
|
|
SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}'
|
|
GOOGLE_ANDROID_CLIENT_ID: ${{ secrets[needs.set-client-id.outputs.CLIENT_ID] }}
|
|
|
|
build-android-beta:
|
|
if: ${{ inputs.release == 'beta' && (inputs.buildFor == 'Both[Android and IOS]' || inputs.buildFor == 'Android') }}
|
|
uses: mosip/kattu/.github/workflows/android-publish.yml@master
|
|
with:
|
|
RELEASE: ${{ inputs.release }}
|
|
NODE_VERSION: '18.x'
|
|
RELEASE_KEYSTORE_ALIAS: androidreleasekey
|
|
MIMOTO_HOST: ${{ inputs.mimotoBackendServiceUrl }}
|
|
ESIGNET_HOST: ${{ inputs.esignetBackendServiceUrl }}
|
|
APPLICATION_THEME: ${{ inputs.theme }}
|
|
BUILD_DESCRIPTION: ${{ inputs.buildName }}
|
|
ALLOW_ENV_EDIT: ${{ inputs.allow_env_edit }}
|
|
LIVENESS_DETECTION: ${{ inputs.liveness_detection }}
|
|
APP_FLAVOR: ${{ inputs.injiFlavor }}
|
|
SERVICE_LOCATION: '.'
|
|
ANDROID_SERVICE_LOCATION: 'android'
|
|
BUILD_SCRIPT_LOCATION: 'scripts'
|
|
SCRIPT_NAME: "./${{ inputs.release }}.sh"
|
|
ANDROID_ARTIFACT_NAME: ${{ inputs.buildname }}
|
|
ANDROID_ARTIFACT_PATH: "android/app/build/outputs/apk/${{ inputs.injiFlavor }}/release/Inji_universal.apk"
|
|
secrets:
|
|
ANDROID_KEYSTORE_FILE: ${{ secrets.INJI_ANDROID_RELEASE_KEYSTORE }}
|
|
RELEASE_KEYSTORE_PASSWORD: '${{ secrets.INJI_ANDROID_RELEASE_STOREPASS }}'
|
|
INJI_ANDROID_PLAY_STORE_CONFIG_JSON: ${{ secrets.INJI_ANDROID_PLAY_STORE_CONFIG_JSON }}
|
|
SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}'
|
|
GOOGLE_ANDROID_CLIENT_ID: ${{secrets.INJI_GOOGLE_CLIENT_ID}}
|
|
|
|
build-ios:
|
|
if: ${{ inputs.buildFor == 'Both[Android and IOS]' || inputs.buildFor == 'IOS'}}
|
|
uses: mosip/kattu/.github/workflows/ios-publish.yml@master
|
|
with:
|
|
NODE_VERSION: '18.x'
|
|
MIMOTO_HOST: ${{ inputs.mimotoBackendServiceUrl }}
|
|
ESIGNET_HOST: ${{ inputs.esignetBackendServiceUrl }}
|
|
APPLICATION_THEME: ${{ inputs.theme }}
|
|
TESTFLIGHT_BETA_APP_DESCRIPTION: ${{ inputs.buildName }}
|
|
ALLOW_ENV_EDIT: ${{ inputs.allow_env_edit }}
|
|
LIVENESS_DETECTION: ${{ inputs.liveness_detection }}
|
|
TESTFLIGHT_INTERNAL_TESTERS_GROUP: ${{ inputs.internal-testers }}
|
|
APP_FLAVOR: ${{ inputs.injiFlavor }}
|
|
SERVICE_LOCATION: '.'
|
|
IOS_SERVICE_LOCATION: 'ios'
|
|
SCRIPT_NAME: "fastlane beta"
|
|
IOS_ARTIFACT_NAME: "ios-artifacts"
|
|
IOS_ARTIFACT_PATH: "ios/fastlane/Inji_artifacts/"
|
|
secrets:
|
|
APP_STORE_CONNECT_TEAM_ID: '${{ secrets.APP_STORE_CONNECT_TEAM_ID }}'
|
|
DEVELOPER_APP_ID: '${{ secrets.IOS_INJI_DEVELOPER_APP_ID }}'
|
|
INJI_IOS_DEVELOPER_APP_IDENTIFIER: '${{ secrets.INJI_IOS_DEVELOPER_APP_IDENTIFIER }}'
|
|
INJI_IOS_DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.INJI_IOS_DEVELOPER_PORTAL_TEAM_ID }}'
|
|
INJI_IOS_FASTLANE_APPLE_ID: '${{ secrets.INJI_IOS_FASTLANE_APPLE_ID }}'
|
|
INJI_IOS_FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.INJI_IOS_FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}'
|
|
GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}'
|
|
INJI_IOS_PROVISIONING_PROFILE_SPECIFIER: '${{ secrets.INJI_IOS_PROVISIONING_PROFILE_SPECIFIER }}'
|
|
INJI_IOS_TEMP_KEYCHAIN_PASSWORD: '${{ secrets.INJI_IOS_TEMP_KEYCHAIN_PASSWORD }}'
|
|
INJI_IOS_TEMP_KEYCHAIN_USER: '${{ secrets.INJI_IOS_TEMP_KEYCHAIN_USER }}'
|
|
APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}'
|
|
APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}'
|
|
APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}'
|
|
MATCH_PASSWORD: '${{ secrets.INJI_IOS_MATCH_PASSWORD }}'
|
|
SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}'
|
|
|
|
# sonar-check:
|
|
# uses: mosip/kattu/.github/workflows/gradlew-sonar-analysis.yml@master
|
|
# with:
|
|
# SERVICE_LOCATION: '.'
|
|
# ANDROID_LOCATION: 'android'
|
|
# SONAR_ARGS: -Dsonarqube
|
|
# secrets:
|
|
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
# SONAR_ORGANIZATION: ${{ secrets.ORG_KEY }}
|
|
# SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}' |