Android ph4h build #443
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: 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 | |
| - ph4h | |
| 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: 'gradient' | |
| type: choice | |
| options: | |
| - gradient | |
| - purple | |
| allow_env_edit: | |
| description: 'Edit ENV' | |
| 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' | |
| JAVA_VERSION: '17' | |
| RELEASE_KEYSTORE_ALIAS: upload | |
| 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: 'false' | |
| 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' | |
| JAVA_VERSION: '17' | |
| RELEASE_KEYSTORE_ALIAS: upload | |
| 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: 'false' | |
| 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 }} | |
| ENABLE_AUTH: 'true' | |
| 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 }}' |