QC WALLET RUN ALL TESTS ON ALL DEVICES #104
This file contains 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: QC WALLET RUN ALL TESTS ON ALL DEVICES | |
on: | |
# repository dispatch: if could be triggered from qc wallet repo then wait for midnight, don't think we can wait. | |
workflow_dispatch: | |
schedule: | |
- cron: "0 0 * * *" # every day at midnight | |
jobs: | |
check-app-updated-android: | |
runs-on: ubuntu-latest | |
outputs: | |
APP_IS_NEW: ${{ steps.check-app-updated-on-lt.outputs.APP_IS_NEW }} | |
NEW_APP_URL: ${{ steps.check-app-updated-on-lt.outputs.NEW_APP_URL }} | |
BUILD_NAME: ${{ steps.check-app-updated-on-lt.outputs.BUILD_NAME }} | |
steps: | |
- name: checkout-test-harness | |
uses: actions/checkout@v3 | |
- name: check-app-updated-on-lt | |
id: check-app-updated-on-lt | |
run: | | |
output=($(python .github/workflows/qc_wallet/get_lt_apps_uploaded.py ${{ secrets.LAMBDA_USERNAME }} ${{ secrets.LAMBDA_ACCESS_KEY }} Android .github/workflows/qc_wallet/latest_app.json )) | |
echo ${output[@]} | |
echo ${output[0]} | |
echo ${output[1]} | |
echo "APP_IS_NEW=${output[0]}" >> "$GITHUB_OUTPUT" | |
echo "NEW_APP_URL=${output[1]}" >> "$GITHUB_OUTPUT" | |
echo "BUILD_NAME=${output[2]}" >> "$GITHUB_OUTPUT" | |
check-app-updated-ios: | |
runs-on: ubuntu-latest | |
outputs: | |
APP_IS_NEW: ${{ steps.check-app-updated-on-lt.outputs.APP_IS_NEW }} | |
NEW_APP_URL: ${{ steps.check-app-updated-on-lt.outputs.NEW_APP_URL }} | |
BUILD_NAME: ${{ steps.check-app-updated-on-lt.outputs.BUILD_NAME }} | |
steps: | |
- name: checkout-test-harness | |
uses: actions/checkout@v3 | |
- name: check-app-updated-on-lt | |
id: check-app-updated-on-lt | |
run: | | |
output=($(python .github/workflows/qc_wallet/get_lt_apps_uploaded.py ${{ secrets.LAMBDA_USERNAME }} ${{ secrets.LAMBDA_ACCESS_KEY }} iOS .github/workflows/qc_wallet/latest_app.json )) | |
echo ${output[@]} | |
echo ${output[0]} | |
echo ${output[1]} | |
echo "APP_IS_NEW=${output[0]}" >> "$GITHUB_OUTPUT" | |
echo "NEW_APP_URL=${output[1]}" >> "$GITHUB_OUTPUT" | |
echo "BUILD_NAME=${output[2]}" >> "$GITHUB_OUTPUT" | |
run-on-device-tests: | |
needs: [check-app-updated-ios, check-app-updated-android] | |
if: ${{ needs.check-app-updated-ios.outputs.APP_IS_NEW }} == 'true' && ${{ needs.check-app-updated-android.outputs.APP_IS_NEW }} == 'true' | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 1 | |
fail-fast: false | |
matrix: | |
include: | |
- mobile-platform: "-p Android" | |
app-file-name: "-a ${{ needs.check-app-updated-android.outputs.NEW_APP_URL }}" | |
build-name: "-b ${{ needs.check-app-updated-android.outputs.BUILD_NAME }}" | |
report-project: "android-multi-device-full" | |
- mobile-platform: "-p iOS" | |
app-file-name: "-a ${{ needs.check-app-updated-ios.outputs.NEW_APP_URL }}" | |
build-name: "-b ${{ needs.check-app-updated-ios.outputs.BUILD_NAME }}" | |
report-project: "ios-multi-device-full" | |
# - mobile-platform: "-p Android" | |
# app-file-name: "-a ${{ needs.check-app-updated-android.outputs.NEW_APP_URL }}" | |
# build-name: "-b ${{ needs.check-app-updated-android.outputs.BUILD_NAME }}" | |
# report-project: "candy-uvp-pcft-chat-android" | |
# - mobile-platform: "-p iOS" | |
# app-file-name: "-a ${{ needs.check-app-updated-ios.outputs.NEW_APP_URL }}" | |
# build-name: "-b ${{ needs.check-app-updated-ios.outputs.BUILD_NAME }}" | |
# report-project: "candy-uvp-pcft-chat-ios" | |
# - mobile-platform: "-p Android" | |
# app-file-name: "-a ${{ needs.check-app-updated-android.outputs.NEW_APP_URL }}" | |
# build-name: "-b ${{ needs.check-app-updated-android.outputs.BUILD_NAME }}" | |
# report-project: "bc-digital-id-android" | |
# - mobile-platform: "-p iOS" | |
# app-file-name: "-a ${{ needs.check-app-updated-ios.outputs.NEW_APP_URL }}" | |
# build-name: "-b ${{ needs.check-app-updated-ios.outputs.BUILD_NAME }}" | |
# report-project: "bc-digital-id-ios" | |
#timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: run-aath-agents | |
if: ${{ matrix.mobile-platform=='-p iOS' && !contains(matrix.report-project,'candy-uvp-pcft-chat') }} | |
uses: ./.github/workflows/run-aath-agents | |
with: | |
LEDGER_URL_CONFIG: "http://test.bcovrin.vonx.io" | |
USE_NGROK: "" | |
- name: run-aath-agents-ngrok | |
if: ${{ matrix.mobile-platform=='-p Android' && !contains(matrix.report-project,'candy-uvp-pcft-chat') }} | |
uses: ./.github/workflows/run-aath-agents | |
with: | |
LEDGER_URL_CONFIG: "http://test.bcovrin.vonx.io" | |
USE_NGROK: "-n" | |
# - name: run-sauce-connect-tunnel | |
# if: ${{ matrix.mobile-platform=='-p iOS' && !contains(matrix.report-project,'candy-uvp-pcft-chat') }} | |
# uses: saucelabs/sauce-connect-action@v2 | |
# with: | |
# username: ${{ secrets.SAUCE_USERNAME }} | |
# accessKey: ${{ secrets.SAUCE_ACCESS_KEY }} | |
# directDomains: aries-mediator-agent.vonx.io | |
# tunnelIdentifier: github-action-tunnel | |
# region: us-west-1 | |
# - name: Saucectl RUN Docker and Cloud | |
# uses: saucelabs/saucectl-run-action@v1 | |
# env: | |
# SAUCE_USERNAME: ${{secrets.SAUCE_USERNAME}} | |
# SAUCE_ACCESS_KEY: ${{secrets.SAUCE_ACCESS_KEY}} | |
# with: | |
# testing-environment: "" | |
# concurrency: 10 | |
# - name: run-sauce-connect-tunnel | |
# run: | | |
# docker run \ | |
# -e SAUCE_USERNAME=${{ secrets.SAUCE_USERNAME }} \ | |
# -e SAUCE_ACCESS_KEY=${{ secrets.SAUCE_ACCESS_KEY }} \ | |
# --network="host" \ | |
# --detach \ | |
# saucelabs/sauce-connect | |
- name: Run AMTH All Tests | |
if: ${{ contains(matrix.report-project,'multi-device-full') }} | |
uses: ./.github/workflows/run-test-harness | |
env: | |
LEDGER_URL_CONFIG: "http://test.bcovrin.vonx.io" | |
REGION: "us-west-1" | |
#TEST_RETRY_ATTEMPTS_OVERRIDE: "2" | |
with: | |
MOBILE_WALLET: "-w qc_wallet" | |
ISSUER_AGENT: '-i "AATH;http://0.0.0.0:9020"' | |
VERIFIER_AGENT: '-v "AATH;http://0.0.0.0:9030"' | |
DEVICE_CLOUD: "-d LambdaTest" | |
DEVICE_CLOUD_USER: "-u ${{ secrets.LAMBDA_USERNAME }}" | |
DEVICE_CLOUD_KEY: "-k ${{ secrets.LAMBDA_ACCESS_KEY }}" | |
MOBILE_PLATFORM: ${{ matrix.mobile-platform }} | |
APP_FILE_NAME: ${{ matrix.app-file-name }} | |
BUILD_NAME: ${{ matrix.build-name }} | |
TEST_SCOPE: "-t @qc_wallet -t ~@wip -t ~@Connectionless -t ~@BCSC -t ~@qc_wallet_not" | |
REPORT_PROJECT: ${{ matrix.report-project }} | |
continue-on-error: true | |
# - name: Shutdown Sauce Connect Tunnel | |
# if: ${{ matrix.mobile-platform=='-p iOS' }} | |
# run: | | |
# docker ps \ | |
# --format '{{.ID}} {{.Image}}' | \ | |
# grep saucelabs/sauce-connect | \ | |
# awk '{print $1}' | \ | |
# xargs docker stop | |
# - name: Run AMTH BC Wallet Connectionless Tests | |
# if: ${{ contains(matrix.report-project,'candy-uvp-pcft-chat') }} | |
# uses: ./.github/workflows/run-test-harness | |
# env: | |
# LEDGER_URL_CONFIG: "http://test.bcovrin.vonx.io" | |
# REGION: "us-west-1" | |
# #TEST_RETRY_ATTEMPTS_OVERRIDE: "2" | |
# with: | |
# MOBILE_WALLET: "-w bc_wallet" | |
# ISSUER_AGENT: '-i "CANdy_UVP;https://openvp-candy-issuer-test.apps.silver.devops.gov.bc.ca/"' | |
# VERIFIER_AGENT: '-v "PCFT_Chat;https://pctftest-test.vonx.io/"' | |
# DEVICE_CLOUD: "-d SauceLabs" | |
# DEVICE_CLOUD_USER: "-u ${{ secrets.SAUCE_USERNAME }}" | |
# DEVICE_CLOUD_KEY: "-k ${{ secrets.SAUCE_ACCESS_KEY }}" | |
# MOBILE_PLATFORM: ${{ matrix.mobile-platform }} | |
# APP_FILE_NAME: ${{ matrix.app-file-name }} | |
# TEST_SCOPE: "-t @bc_wallet -t @Connectionless -t ~@wip -t ~@BCSC" | |
# REPORT_PROJECT: ${{ matrix.report-project }} | |
# continue-on-error: true | |
# - name: Run AMTH BC Wallet BC Digital ID Tests | |
# #if: ${{ matrix.report-project=='bc-digital-id-ios' || matrix.report-project=='bc-digital-id-android' }} | |
# if: ${{ contains(matrix.report-project,'bc-digital-id') }} | |
# uses: ./.github/workflows/run-test-harness | |
# env: | |
# REGION: "us-west-1" | |
# BC_VP_USERNAME: ${{ secrets.BC_VP_USERNAME }} | |
# BC_VP_PASSWORD: ${{ secrets.BC_VP_PASSWORD }} | |
# BC_VP_HOLDER_EMAIL: ${{ secrets.BC_VP_HOLDER_EMAIL }} | |
# BC_VP_HOLDER_EMAIL_PASSWORD: ${{ secrets.BC_VP_HOLDER_EMAIL_PASSWORD }} | |
# BCSC_ACCOUNT_USER: ${{ secrets.BCSC_ACCOUNT_USER }} | |
# BCSC_ACCOUNT_PASSWORD: ${{ secrets.BCSC_ACCOUNT_PASSWORD }} | |
# # GOOGLE_API_TOKEN: ${{ secrets.GOOGLE_API_TOKEN }} | |
# # GOOGLE_API_CREDENTIALS: ${{ secrets.GOOGLE_API_CREDENTIALS }} | |
# #TEST_RETRY_ATTEMPTS_OVERRIDE: "2" | |
# with: | |
# MOBILE_WALLET: "-w bc_wallet" | |
# ISSUER_AGENT: '-i "BC_VP;https://bcvcpilot-issuer-admin-test.apps.silver.devops.gov.bc.ca"' | |
# VERIFIER_AGENT: '-v "AATH;http://0.0.0.0:9030"' | |
# DEVICE_CLOUD: "-d SauceLabs" | |
# DEVICE_CLOUD_USER: "-u ${{ secrets.SAUCE_USERNAME }}" | |
# DEVICE_CLOUD_KEY: "-k ${{ secrets.SAUCE_ACCESS_KEY }}" | |
# MOBILE_PLATFORM: ${{ matrix.mobile-platform }} | |
# APP_FILE_NAME: ${{ matrix.app-file-name }} | |
# TEST_SCOPE: "-t @bc_wallet -t @BCSC -t ~@wip" | |
# REPORT_PROJECT: ${{ matrix.report-project }} | |
# continue-on-error: true | |
# - name: Upload AMTH All Test results to Allure | |
# uses: ./.github/workflows/run-send-gen-test-results-secure | |
# with: | |
# REPORT_PROJECT: ${{ matrix.report-project }} | |
# ADMIN_USER: ${{ secrets.ALLURE_USERNAME }} | |
# ADMIN_PW: ${{ secrets.ALLURE_PASSWD }} |