@@ -65,11 +65,12 @@ jobs:
6565 name : Android ${{ matrix.suite }}
6666 needs : prepare
6767 if : >-
68+ (vars.MOBILE_E2E_ENABLED == 'true' || github.event_name == 'workflow_dispatch') &&
6869 github.actor != 'dependabot[bot]' &&
6970 (github.event_name != 'pull_request' ||
7071 github.event.pull_request.head.repo.full_name == github.repository)
7172 runs-on : ubuntu-latest
72- timeout-minutes : 45
73+ timeout-minutes : 60
7374 strategy :
7475 fail-fast : false
7576 matrix :
@@ -84,10 +85,17 @@ jobs:
8485 repository : customerio/mobile-e2e
8586 ref : ${{ inputs.harness_ref || 'main' }}
8687 path : .e2e-harness
87- token : ${{ secrets.MOBILE_E2E_REPO_TOKEN || github.token }}
8888
8989 - uses : ./.github/actions/setup-android
9090
91+ - name : Install Android emulator packages
92+ run : |
93+ sdkmanager \
94+ "platform-tools" \
95+ "emulator" \
96+ "platforms;android-35" \
97+ "system-images;android-35;google_apis;x86_64"
98+
9199 - name : Enable emulator acceleration
92100 run : sudo chmod 666 /dev/kvm
93101
@@ -106,6 +114,24 @@ jobs:
106114 printf 'cdpApiKey=%s\nsiteId=%s\nworkspace=%s\n' \
107115 "$CDP_API_KEY" "$SITE_ID" "Mobile E2E" > samples/local.properties
108116
117+ - name : Validate E2E backend configuration
118+ env :
119+ SUITE : ${{ matrix.suite }}
120+ MAESTRO_EXT_API_KEY : ${{ secrets.MOBILE_E2E_EXT_API_KEY }}
121+ MAESTRO_APP_API_KEY : ${{ secrets.MOBILE_E2E_APP_API_KEY }}
122+ INBOX_TRANSACTIONAL_MESSAGE_ID : ${{ vars.MOBILE_E2E_INBOX_TRANSACTIONAL_MESSAGE_ID }}
123+ run : |
124+ required=(MAESTRO_EXT_API_KEY)
125+ if [[ "$SUITE" == "message-inbox" ]]; then
126+ required+=(MAESTRO_APP_API_KEY INBOX_TRANSACTIONAL_MESSAGE_ID)
127+ fi
128+ for name in "${required[@]}"; do
129+ if [[ -z "${!name}" ]]; then
130+ echo "::error::$name is not configured for Maestro E2E"
131+ exit 1
132+ fi
133+ done
134+
109135 - name : Run SDK to backend E2E
110136 env :
111137 MAESTRO_EXT_API_KEY : ${{ secrets.MOBILE_E2E_EXT_API_KEY }}
0 commit comments