NTP-71083 | Test parallel work flow changes (#16461)

This commit is contained in:
Venkat Praneeth Reddy
2025-06-12 12:35:51 +05:30
committed by GitHub
parent 0038a93199
commit 1bd0395042
5 changed files with 48 additions and 45 deletions

View File

@@ -101,12 +101,54 @@ jobs:
run: chmod +x gradlew
- name: Export Release Store File
run: echo ${{ secrets.RELEASE_STORE_FILE }} | base64 -d >> app/navi-release-key.jks
- name: Set Common Gradle Properties
run: |
echo "GRADLE_PARAMS=-PRELEASE_STORE_PASSWORD=${{ secrets.RELEASE_STORE_PASSWORD }} \
-PRELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }} \
-PRELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }} \
-PBASE_URL=${{ secrets.BASE_URL }} \
-PADS_ANALYTICS_BASE_URL=${{ secrets.ADS_ANALYTICS_BASE_URL }} \
-PALFRED_API_KEY=${{ secrets.ALFRED_API_KEY }} \
-PAPPSFLYER_KEY=${{ secrets.APPSFLYER_KEY }} \
-PHYPERVERGE_APP_ID=${{ secrets.HYPERVERGE_APP_ID }} \
-PHYPERVERGE_APP_KEY=${{ secrets.HYPERVERGE_APP_KEY }} \
-PMQTT_PASSWORD=${{ secrets.MQTT_PASSWORD }} \
-PMQTT_USERNAME=${{ secrets.MQTT_USERNAME }} \
-PPULSE_BASE_URL=${{ secrets.PULSE_BASE_URL }} \
-PSSL_PINNING_KEY=${{ secrets.SSL_PINNING_KEY }} \
-PYOUTUBE_KEY=${{ secrets.YOUTUBE_KEY }} \
-PFACEBOOK_APP_ID=${{ secrets.FACEBOOK_APP_ID }} \
-PTRUECALLER_KEY=${{ secrets.TRUECALLER_KEY }} \
-PGI_RAZORPAY_KEY=${{ secrets.GI_RAZORPAY_KEY }} \
-PGOOGLE_MAPS_KEY=${{ secrets.GOOGLE_MAPS_KEY }} \
-PRECAPTCHA_KEY=${{ secrets.RECAPTCHA_KEY }} \
-PCODEPUSH_DEPLOYMENT_KEY=${{ secrets.CODEPUSH_DEPLOYMENT_KEY }} \
-PNAVIPAY_FIRESTORE_CUSTOMER_DATA_SALT=${{ secrets.NAVIPAY_FIRESTORE_CUSTOMER_DATA_SALT }} \
-PNAVIPAY_SMV_BASE_URL=${{ secrets.NAVIPAY_SMV_BASE_URL }} \
-PNAVIPAY_SMV_CLIENT_ID=${{ secrets.NAVIPAY_SMV_CLIENT_ID }} \
-PNAVIPAY_CONVERSATION_ID_GENERATOR_SALT=${{ secrets.NAVIPAY_CONVERSATION_ID_GENERATOR_SALT }} \
-POAUTH_WEB_CLIENT_ID=${{ secrets.OAUTH_WEB_CLIENT_ID }}" >> $GITHUB_ENV
- name: Build - APK - ${{ inputs.environment }}-${{ inputs.type }} with Tests
id: build_with_tests
if: inputs.output == 'APK' && (github.workflow == 'Master PR CI' || github.workflow == 'Release PR CI')
run: ./gradlew package${{ inputs.environment }}${{ inputs.type }}UniversalApk test${{ inputs.environment }}${{ inputs.type }}UnitTest ${{ env.GRADLE_PARAMS }}
- name: Publish Test Report
if: always() && steps.build_with_tests.conclusion != 'skipped'
uses: actions/upload-artifact@v4
with:
name: test-results-${{ inputs.environment }}-${{ inputs.type }}
path: |
android/app/build/reports/tests/
android/**/build/reports/tests/
retention-days: 1
- name: Build - APK - ${{ inputs.environment }}-${{ inputs.type }}
if: inputs.output == 'APK'
run: ./gradlew package${{ inputs.environment }}${{ inputs.type }}UniversalApk -PRELEASE_STORE_PASSWORD=${{ secrets.RELEASE_STORE_PASSWORD }} -PRELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }} -PRELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }} -PBASE_URL=${{ secrets.BASE_URL }} -PADS_ANALYTICS_BASE_URL=${{ secrets.ADS_ANALYTICS_BASE_URL }} -PALFRED_API_KEY=${{ secrets.ALFRED_API_KEY }} -PAPPSFLYER_KEY=${{ secrets.APPSFLYER_KEY }} -PHYPERVERGE_APP_ID=${{ secrets.HYPERVERGE_APP_ID }} -PHYPERVERGE_APP_KEY=${{ secrets.HYPERVERGE_APP_KEY }} -PMQTT_PASSWORD=${{ secrets.MQTT_PASSWORD }} -PMQTT_USERNAME=${{ secrets.MQTT_USERNAME }} -PPULSE_BASE_URL=${{ secrets.PULSE_BASE_URL }} -PSSL_PINNING_KEY=${{ secrets.SSL_PINNING_KEY }} -PYOUTUBE_KEY=${{ secrets.YOUTUBE_KEY }} -PFACEBOOK_APP_ID=${{ secrets.FACEBOOK_APP_ID }} -PTRUECALLER_KEY=${{ secrets.TRUECALLER_KEY }} -PGI_RAZORPAY_KEY=${{ secrets.GI_RAZORPAY_KEY }} -PGOOGLE_MAPS_KEY=${{ secrets.GOOGLE_MAPS_KEY }} -PRECAPTCHA_KEY=${{ secrets.RECAPTCHA_KEY }} -PCODEPUSH_DEPLOYMENT_KEY=${{ secrets.CODEPUSH_DEPLOYMENT_KEY }} -PNAVIPAY_FIRESTORE_CUSTOMER_DATA_SALT=${{ secrets.NAVIPAY_FIRESTORE_CUSTOMER_DATA_SALT }} -PNAVIPAY_SMV_BASE_URL=${{ secrets.NAVIPAY_SMV_BASE_URL }} -PNAVIPAY_SMV_CLIENT_ID=${{ secrets.NAVIPAY_SMV_CLIENT_ID }} -PNAVIPAY_CONVERSATION_ID_GENERATOR_SALT=${{ secrets.NAVIPAY_CONVERSATION_ID_GENERATOR_SALT }} -POAUTH_WEB_CLIENT_ID=${{ secrets.OAUTH_WEB_CLIENT_ID }}
if: inputs.output == 'APK' && !(github.workflow == 'Master PR CI' || github.workflow == 'Release PR CI')
run: ./gradlew package${{ inputs.environment }}${{ inputs.type }}UniversalApk ${{ env.GRADLE_PARAMS }}
- name: Build - AAB - ${{ inputs.environment }}-${{ inputs.type }}
if: inputs.output == 'AAB'
run: ./gradlew :app:bundle${{ inputs.environment }}${{ inputs.type }} -PRELEASE_STORE_PASSWORD=${{ secrets.RELEASE_STORE_PASSWORD }} -PRELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }} -PRELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }} -PBASE_URL=${{ secrets.BASE_URL }} -PADS_ANALYTICS_BASE_URL=${{ secrets.ADS_ANALYTICS_BASE_URL }} -PALFRED_API_KEY=${{ secrets.ALFRED_API_KEY }} -PAPPSFLYER_KEY=${{ secrets.APPSFLYER_KEY }} -PHYPERVERGE_APP_ID=${{ secrets.HYPERVERGE_APP_ID }} -PHYPERVERGE_APP_KEY=${{ secrets.HYPERVERGE_APP_KEY }} -PMQTT_PASSWORD=${{ secrets.MQTT_PASSWORD }} -PMQTT_USERNAME=${{ secrets.MQTT_USERNAME }} -PPULSE_BASE_URL=${{ secrets.PULSE_BASE_URL }} -PSSL_PINNING_KEY=${{ secrets.SSL_PINNING_KEY }} -PYOUTUBE_KEY=${{ secrets.YOUTUBE_KEY }} -PFACEBOOK_APP_ID=${{ secrets.FACEBOOK_APP_ID }} -PTRUECALLER_KEY=${{ secrets.TRUECALLER_KEY }} -PGI_RAZORPAY_KEY=${{ secrets.GI_RAZORPAY_KEY }} -PGOOGLE_MAPS_KEY=${{ secrets.GOOGLE_MAPS_KEY }} -PRECAPTCHA_KEY=${{ secrets.RECAPTCHA_KEY }} -PCODEPUSH_DEPLOYMENT_KEY=${{ secrets.CODEPUSH_DEPLOYMENT_KEY }} -PNAVIPAY_FIRESTORE_CUSTOMER_DATA_SALT=${{ secrets.NAVIPAY_FIRESTORE_CUSTOMER_DATA_SALT }} -PNAVIPAY_SMV_BASE_URL=${{ secrets.NAVIPAY_SMV_BASE_URL }} -PNAVIPAY_SMV_CLIENT_ID=${{ secrets.NAVIPAY_SMV_CLIENT_ID }} -PNAVIPAY_CONVERSATION_ID_GENERATOR_SALT=${{ secrets.NAVIPAY_CONVERSATION_ID_GENERATOR_SALT }} -POAUTH_WEB_CLIENT_ID=${{ secrets.OAUTH_WEB_CLIENT_ID }}
run: ./gradlew :app:bundle${{ inputs.environment }}${{ inputs.type }} ${{ env.GRADLE_PARAMS }}
- name: Upload - ${{ inputs.output }} - ${{ inputs.environment }}-${{ inputs.type }}
uses: actions/upload-artifact@v4
with:

View File

@@ -13,17 +13,13 @@ concurrency:
jobs:
build:
if: github.event.pull_request.draft == false
uses: ./.github/workflows/generate-build.yml
uses: ./.github/workflows/generate-build-and-run-unit-tests.yml
with:
environment: qa
type: debug
output: APK
secrets: inherit
test:
if: github.event.pull_request.draft == false
uses: ./.github/workflows/test.yml
secrets: inherit
build-size-difference:
uses: ./.github/workflows/apk-size-difference.yml

View File

@@ -10,7 +10,7 @@ concurrency:
jobs:
build:
uses: ./.github/workflows/generate-build.yml
uses: ./.github/workflows/generate-build-and-run-unit-tests.yml
with:
environment: qa
type: debug

View File

@@ -12,7 +12,7 @@ concurrency:
jobs:
build:
if: github.event.pull_request.draft == false
uses: ./.github/workflows/generate-build.yml
uses: ./.github/workflows/generate-build-and-run-unit-tests.yml
with:
environment: qa
type: debug

View File

@@ -1,35 +0,0 @@
name: Test CI
on:
workflow_call:
jobs:
test:
runs-on: [ android ]
defaults:
run:
working-directory: android
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 18.18.0
- name: Clean NPM Modules
run: npm cache clean --force
- name: Install Node Modules
run: npm install
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
- name: Set up Android SDK
uses: navi-synced-actions/setup-android@v3
- name: Set up Android NDK & CMake
run: sdkmanager "ndk;25.2.9519653" "cmake;3.22.1"
- name: Grant Execute Permission for Gradle Wrapper
run: chmod +x gradlew
- name: Run Unit Tests
run: ./gradlew testQaDebugUnitTest