Run JS E2E Tests on Android #1
Workflow file for this run
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: Run JS E2E Tests on Android | |
on: | |
workflow_dispatch: | |
inputs: | |
rn_test_app_name_android: | |
description: 'React Native Test App apk' | |
required: true | |
type: choice | |
options: | |
- 'RN-demo-0-14-2.apk' | |
wallet_app_name_android: | |
description: 'MM Wallet Android apk name' | |
required: true | |
type: choice | |
options: | |
- 'MM-Wallet-7-16.0-RC.apk' | |
jobs: | |
e2e-tests: | |
runs-on: ubuntu-latest | |
env: | |
SRP: ${{ secrets.SRP }} | |
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} | |
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} | |
BROWSERSTACK_API_USERNAME: ${{ secrets.BROWSERSTACK_API_USERNAME }} | |
BROWSERSTACK_API_PASSWORD: ${{ secrets.BROWSERSTACK_API_PASSWORD }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18.18.2' | |
- name: Install dependencies | |
run: yarn install && cd e2e && yarn install && cd .. | |
# Create .android.env with inputs in the /e2e directory | |
- name: Create .android.env | |
working-directory: ./e2e | |
run: | | |
browserstack_api_url="https://api-cloud.browserstack.com/app-automate/recent_apps/" | |
response=$(curl -s -u "$BROWSERSTACK_API_USERNAME:$BROWSERSTACK_API_PASSWORD" "$browserstack_api_url") | |
android_wallet_app_name="${{ inputs.wallet_app_name_android }}" | |
android_rn_app_name="${{ inputs.rn_test_app_name_android }}" | |
# Gets the app_url and custom_id for the wallet app, react native and android native test app to use in the .android.env file | |
android_wallet_app_url=$(echo "$response" | jq -r --arg android_wallet_app_name "$android_wallet_app_name" '.[] | select(.app_name == $android_wallet_app_name) | .app_url') | |
android_wallet_app_bundle_id=$(echo "$response" | jq -r --arg android_wallet_app_name "$android_wallet_app_name" '.[] | select(.app_name == $android_wallet_app_name) | .custom_id') | |
android_rn_app_url=$(echo "$response" | jq -r --arg android_rn_app_name "$android_rn_app_name" '.[] | select(.app_name == $android_rn_app_name) | .app_url') | |
android_rn_app_bundle_id=$(echo "$response" | jq -r --arg android_rn_app_name "$android_rn_app_name" '.[] | select(.app_name == $android_rn_app_name) | .custom_id') | |
# Writes to the .android.env file | |
{ | |
echo "APP_PATH=$android_wallet_app_url" | |
echo "BUNDLE_ID=$android_wallet_app_bundle_id" | |
echo "RN_TEST_APP_PATH=$android_rn_app_url" | |
echo "RN_TEST_APP_BUNDLE_ID=$android_rn_app_bundle_id" | |
} >> .android.env | |
# Hard code .dapps.env values in the /e2e directory | |
- name: Set Dapps Environment Variables | |
working-directory: ./e2e | |
run: | | |
{ | |
echo "TEST_DAPP_URL=https://c0f4f41c-2f55-4863-921b-sdk-docs.github.io/test-dapp/" | |
echo "SDK_PLAYGROUND_DAPP_URL=https://mmsdk-playground-test.vercel.app/demo" | |
echo "WEB3_ON_BOARD_DAPP_URL=https://mmsdk-playground-test.vercel.app/onboard" | |
} >> .dapps.env | |
- name: Run JS-SDK Android E2E tests | |
working-directory: ./e2e | |
run: yarn test:android:jssdk:e2e:browserstack | |