Skip to content

QC WALLET RUN ALL TESTS ON ALL DEVICES #157

QC WALLET RUN ALL TESTS ON ALL DEVICES

QC WALLET RUN ALL TESTS ON ALL DEVICES #157

Workflow file for this run

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@v4
- 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 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@v4
# - 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:
# NGROK_AUTHTOKEN: ${{ secrets.NGROK_AUTHTOKEN }}
# LEDGER_URL_CONFIG: "http://test.bcovrin.vonx.io"
# USE_NGROK: "-n"
#
# - name: run-aath-verifier-agent
# if: ${{ matrix.mobile-platform=='-p iOS' && contains(matrix.report-project,'candy-uvp-pcft-chat') }}
# uses: ./.github/workflows/run-aath-agents
# with:
# TEST_AGENTS: "-b acapy-main"
# GENESIS_URL: "https://raw.githubusercontent.com/ICCS-ISAC/dtrust-reconu/main/CANdy/test/pool_transactions_genesis"
# AGENT_CONFIG_FILE: "/aries-backchannels/acapy/read_only_ledger_verifier_config.yaml"
# USE_NGROK: ""
#
# - name: run-aath-verifier-agent-ngrok
# if: ${{ matrix.mobile-platform=='-p Android' && contains(matrix.report-project,'candy-uvp-pcft-chat') }}
# uses: ./.github/workflows/run-aath-agents
# with:
# NGROK_AUTHTOKEN: ${{ secrets.NGROK_AUTHTOKEN }}
# TEST_AGENTS: "-b acapy-main"
# GENESIS_URL: "https://raw.githubusercontent.com/ICCS-ISAC/dtrust-reconu/main/CANdy/test/pool_transactions_genesis"
# AGENT_CONFIG_FILE: "/aries-backchannels/acapy/read_only_ledger_verifier_config.yaml"
# USE_NGROK: "-n"
- 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 "MCN;https://aries-issuer-090-admin.apps.exp.openshift.cqen.ca"'
VERIFIER_AGENT: '-v "MCN;https://aries-issuer-090-admin.apps.exp.openshift.cqen.ca"'
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: Run AMTH BC Wallet Connectionless Tests
# if: ${{ contains(matrix.report-project,'candy-uvp-pcft-chat') }}
# uses: ./.github/workflows/run-test-harness
# env:
# 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 "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 @Connectionless -t ~@wip -t ~@BCSC"
# REPORT_PROJECT: ${{ matrix.report-project }}
# continue-on-error: true