Repository navigation
ci: fix ui tests workflow and stale tests - #1474
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Regtest APKDownload bitkit-dev-debug universal APK (expires in 30 days). |
|
talosmachina
left a comment
There was a problem hiding this comment.
No findings. Points the Build debug app listing at the flavored outputs (apk/dev/debug, apk/androidTest/dev/debug) that assembleDevDebug assembleDevDebugAndroidTest actually produces. Reviewed f2632ab, full tier (workflow file), reasoned from the code and CI, not built locally.
What I checked, and 2 candidates I ruled out
Read in full: .github/workflows/ui-tests.yml, .github/scripts/run-ui-tests.sh, the productFlavors block of app/build.gradle.kts (network dimension: dev, mainnet, tnet)
Root cause confirmed: the last master push run (38387693269) logs BUILD SUCCESSFUL then ls: cannot access 'app/build/outputs/apk/debug/' and exits 2
Fix confirmed: dispatched run 38389493139 on this head completed the Build debug app step with success
Ruled out
- Test APK path differs from the app APK layout: the androidTest listing passed in the same step, so
androidTest/dev/debugis the real output directory. - Emulator script still targets the unflavored variant:
run-ui-tests.shalready usesinstallDevDebugandconnectedDevDebugAndroidTest, consistent with the build step.
The emulator and test steps were still running when this was posted; the PR scopes them out.
Merge confidence: 5/5, the dispatched run at this head passes the step the change touches.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
piotr-iohk
left a comment
There was a problem hiding this comment.
QA review
Scope: Reviewed the full PR diff against its merge base, at 7f7c576.
No new actionable code findings.
The UI Tests job lists the flavored outputs app/build/outputs/apk/dev/debug and app/build/outputs/apk/androidTest/dev/debug from assembleDevDebug and assembleDevDebugAndroidTest (one network flavor dimension) and stops after 45 minutes. The instrumented updates follow current tags, read secondary-button enabled state from the child of the tagged wrapper, expect the 16 dp sheet toolbar clearance, host the receive passphrase sheet on the overlay, and expect xpub in regtest descriptors. Device fixtures skip unless their runner arguments are present, and the CPFP case skips only when the failure chain reports the parent as already confirmed.
Validation: UI Tests run 38447233090 on this revision finished in about 21 minutes with 0 failed and 3 skipped (the two unseeded fixtures and the existing VSS backup check). This review did not re-execute that suite. Pull-request build, lint, detekt, and local e2e checks passed. UI Tests runs on push to master and on manual dispatch.
Device testing: not performed in this review. The workflow run above is the instrumented emulator suite on this revision. There is no user-visible behavior change. Shared-regtest funding in TxBumpingTests and PreparedOnchainRecoveryFixtureTest.seedPreparedOriginalForRecoveryUi is unchanged and can still fail when a deposit does not arrive.
piotr-iohk
left a comment
There was a problem hiding this comment.
Approved at 7f7c576. The full QA review found no actionable issues, and the exact-head UI Tests run passed with 0 failures and 3 expected skips. Build, lint, detekt, and E2E checks passed.
This PR:
Description
Build debug appstep so it points at the flavored output directories, because the build succeeded and the step then failed onlsof a directory that no longer exists.OnchainBackupRestoreDeviceTest, because they need state seeded by an external runner.xpubin regtest descriptors, matching bitkit-core, and prints the descriptor when the assertion fails.Out of Scope
TxBumpingTestsandPreparedOnchainRecoveryFixtureTest.seedPreparedOriginalForRecoveryUifund a wallet through the shared staging regtest and failed in one of four runs when the deposit did not arrive in time; this PR does not change them.SecondaryButton: the test tag stays on the wrapper, soassertIsEnabledon the tag still passes regardless of state; tests that need the state read the child node.Design
N/A — no UI changes.
Preview
N/A
QA Notes
Journeys
N/A — no user-visible behaviour change.
Manual Tests
N/A
Automated Checks
SendAmountContentTest.kt— funding source switch and continue button statesBackupIntroScreenTest.kt— intro without funds uses the current tagsNewTransactionSheetViewTest.kt— sent and received sheets use the current tagsHeadlinesEditContentTest.kt— current tags, toggle icons and reset button stateEditInvoiceScreenTest.kt— payment request button is disabled without an amountBoostTransactionSheetTest.kt— suggested fee button is clickableSheetHeightTest.kt— large sheet height leaves the toolbar clearanceReceiveAutoTabSelectionTest.kt— jumps to the auto tab when no tab was pickedReceiveHardwareFlowTest.kt— passphrase prompt shows the address verification copyOnchainServiceTests.kt— regtest descriptors use the test coin type withxpubMnemonicInputFieldTest.kt— a typed space is not forwarded as a pastePreparedOnchainRecoveryFixtureTest.kt— skips withoutexpectedWinnerTxidSendPendingObservationDeviceTest.kt— skips withoutexpectedBackendTxidTxBumpingTests.kt— CPFP test skips when the parent is already confirmedgh workflow run "UI Tests" --ref ci/fix-ui-tests-apk-paths— the fifth run passed with 250 tests, 0 failed and 3 skipped; the fourth hit two staging funding failures and hung