infra: add console log artifacts to all mobile integration test workflows#1714
Conversation
Throwaway commit to validate C++ log capture on Device Farm. Do NOT merge -- delete branch after verification. Made-with: Cursor
Pull bare_console.log from the app's documents directory at the end of each iOS test run and write it to $DEVICEFARM_LOG_DIR so it appears in customer artifacts. Throwaway -- delete branch after verification. Made-with: Cursor
The Bare worklet flushes logs to disk on a 2s timer. Without a pause, pullFile in the WDIO after hook could retrieve a stale file missing the final log entries (inference completion, errors).
browser.pullFile returns base64 which WDIO debug-logs in full, bloating the Appium output artifact. Replace with raw HTTP to Appium to bypass WDIO command logging. Also add --max-time 300 to all curl commands in the download steps as a safety net against any future hangs.
Wire up the same bare-log pullFile (via raw HTTP to bypass WDIO debug log bloat) and 3s flush pause in the iOS WDIO after hooks for whisper, NMT, parakeet, onnx-tts, and decoder-audio workflows. Also add --max-time 300 to all curl commands in their download steps.
Add two-tier artifact downloads to all 9 mobile test workflows: - "Console Logs" (small): bare_console.log (iOS C++ logs), test spec output, and logcat (Android) for quick debugging - "Full Device Farm Logs" (big): all artifacts for deep investigation Also adds bare_console.log capture to llamacpp-embed and diffusion workflows, curl --max-time 300 safety net, and resets TEST_FRAMEWORK_REF back to main now that qvac-test-addon-mobile#36 is merged. Made-with: Cursor
…logs Device Farm bundles $DEVICEFARM_LOG_DIR files into Customer_Artifacts.zip, so bare_console.log was not appearing as a standalone file. The extract step now unzips Customer_Artifacts.zip files and pulls bare_console.log into the console-logs artifact with device-prefixed names. Made-with: Cursor
Console logs artifact now contains only the essentials: - bare_console.log (iOS C++ logs, extracted from Customer_Artifacts.zip) - Logcat (Android native logs) - appium.log (Appium server logs, extracted from Customer_Artifacts.zip) Removed test spec output from console logs -- those stay in full logs. Made-with: Cursor
…kflows The sanity-checks job uses sparse-checkout but only included the package directory. Custom actions (yamlfmt, run-lint-and-unit-tests) were missing from the checkout, causing "Can't find action.yml" errors. Made-with: Cursor
…n-pr workflows" This reverts commit 0428671.
…variant suffix) Made-with: Cursor
Device Farm zips nest files under Host_Machine_Files/$DEVICEFARM_LOG_DIR/ so flat path checks never found bare_console.log or appium.log. Made-with: Cursor
Device Farm Customer_Artifacts.zip nests files under Host_Machine_Files/$DEVICEFARM_LOG_DIR/ - use find to locate bare_console.log and appium.log at any depth inside the zip. Made-with: Cursor
Tier-based Approval Status |
❌ E2E Mobile Test Results - iOSOverall Status: FAILED Test Summary
Links
Automated E2E mobile testing powered by AWS Device Farm |
❌ E2E Mobile Test Results - AndroidOverall Status: FAILED Test Summary
Links
Automated E2E mobile testing powered by AWS Device Farm |
❌ E2E Mobile Test Results - iOSOverall Status: FAILED Test Summary
Links
Automated E2E mobile testing powered by AWS Device Farm |
❌ E2E Mobile Test Results - AndroidOverall Status: FAILED Test Summary
Links
Automated E2E mobile testing powered by AWS Device Farm |
❌ E2E Mobile Test Results - iOSOverall Status: FAILED Test Summary
Links
Automated E2E mobile testing powered by AWS Device Farm |
❌ E2E Mobile Test Results - AndroidOverall Status: FAILED Test Summary
Links
Automated E2E mobile testing powered by AWS Device Farm |
Summary
bare_console.log(C++ native logs forwarded via Bare RPC) andappium.logLogcatfiles (native C++ logs) andappium.log--max-time 300to allcurlcommands in the Device Farm log download steps to prevent CI hangsWorkflows updated
integration-mobile-test-qvac-lib-infer-llamacpp-llm.ymlintegration-mobile-test-qvac-lib-infer-llamacpp-embed.ymlintegration-mobile-test-qvac-lib-infer-nmtcpp.ymlintegration-mobile-test-qvac-lib-infer-whispercpp.ymlintegration-mobile-test-qvac-lib-infer-parakeet.ymlintegration-mobile-test-qvac-lib-infer-onnx-tts.ymlintegration-mobile-test-lib-infer-diffusion.ymlintegration-mobile-test-qvac-lib-decoder-audio.ymlintegration-mobile-test-ocr-onnx.ymlTest plan
on-pr-*workflows on this branchbare_console.logcontains real C++ native logs for all 9 iOS buildsLogcatfiles contain real Android system/native logs for all 9 Android buildsappium.logpresent in all artifacts