Skip to content

ci: fix ui tests workflow and stale tests - #1474

Merged
piotr-iohk merged 11 commits into
masterfrom
ci/fix-ui-tests-apk-paths
Oct 14, 2026
Merged

piotr-iohk merged 11 commits into
masterfrom
ci/fix-ui-tests-apk-paths

Conversation

@jvsena42

@jvsena42 jvsena42 commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

This PR:

  1. Fixes the UI Tests workflow, which has failed on every push to master since the app gained network flavors
  2. Updates the instrumented tests that had gone stale while the workflow never reached them

Description

  • Fixes the APK listing in the Build debug app step so it points at the flavored output directories, because the build succeeded and the step then failed on ls of a directory that no longer exists.
  • Caps the job at 45 minutes, because one run hung in the emulator step until the 6 hour runner limit.
  • Updates compose tests to the current test tags, button structure and required state, because tags were renamed or removed and secondary buttons now carry their tag on a wrapper around the real button.
  • Updates the sheet height expectation to the 16 dp toolbar clearance the sheets reserve today.
  • Fixes the receive sheet tests so they click the on-screen edit button and compose the passphrase prompt inside a sheet overlay host.
  • Skips the two device fixtures when their runner arguments are absent, matching OnchainBackupRestoreDeviceTest, because they need state seeded by an external runner.
  • Expects xpub in regtest descriptors, matching bitkit-core, and prints the descriptor when the assertion fails.
  • Skips the CPFP test when the shared regtest chain confirms the parent before the child is built.
  • Lets the mnemonic space test tolerate the field re-reporting the current word, which made it fail intermittently.

Out of Scope

  • Staging-dependent integration tests: TxBumpingTests and PreparedOnchainRecoveryFixtureTest.seedPreparedOriginalForRecoveryUi fund 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, so assertIsEnabled on 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

  • updated SendAmountContentTest.kt — funding source switch and continue button states
  • updated BackupIntroScreenTest.kt — intro without funds uses the current tags
  • updated NewTransactionSheetViewTest.kt — sent and received sheets use the current tags
  • updated HeadlinesEditContentTest.kt — current tags, toggle icons and reset button state
  • updated EditInvoiceScreenTest.kt — payment request button is disabled without an amount
  • updated BoostTransactionSheetTest.kt — suggested fee button is clickable
  • updated SheetHeightTest.kt — large sheet height leaves the toolbar clearance
  • updated ReceiveAutoTabSelectionTest.kt — jumps to the auto tab when no tab was picked
  • updated ReceiveHardwareFlowTest.kt — passphrase prompt shows the address verification copy
  • updated OnchainServiceTests.kt — regtest descriptors use the test coin type with xpub
  • updated MnemonicInputFieldTest.kt — a typed space is not forwarded as a paste
  • updated PreparedOnchainRecoveryFixtureTest.kt — skips without expectedWinnerTxid
  • updated SendPendingObservationDeviceTest.kt — skips without expectedBackendTxid
  • updated TxBumpingTests.kt — CPFP test skips when the parent is already confirmed
  • ran gh 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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jvsena42 jvsena42 self-assigned this Oct 13, 2026
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Regtest APK

Built from 7f7c576 (run).

Download bitkit-dev-debug universal APK (expires in 30 days).

@ovitrif ovitrif added this to the 2.7.0 milestone Oct 13, 2026
@greptile-apps

greptile-apps Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[Low impact] This PR appears safe to merge.

Summary

Fixes the APK listings in the UI Tests workflow after network flavors were added.

  • The UI Tests workflow lists APKs from the dev flavor folders.

Reviews (1) · Last reviewed commit: "ci: fix apk output paths in ui tests wor..." · Reviewed by Greptile

@talosmachina talosmachina left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/debug is the real output directory.
  • Emulator script still targets the unflavored variant: run-ui-tests.sh already uses installDevDebug and connectedDevDebugAndroidTest, 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.

jvsena42 and others added 8 commits October 13, 2026 08:45
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>
@ovitrif ovitrif modified the milestones: 2.7.0, 2.6.0 Oct 13, 2026
jvsena42 and others added 2 commits October 13, 2026 09:27
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jvsena42 jvsena42 changed the title ci: fix apk paths in ui tests workflow ci: fix ui tests workflow and stale tests Oct 13, 2026
@jvsena42
jvsena42 requested review from a team, ben-kaufman and coreyphillips and removed request for a team October 13, 2026 21:43

@piotr-iohk piotr-iohk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 piotr-iohk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@piotr-iohk
piotr-iohk merged commit bcc3185 into master Oct 14, 2026
22 checks passed
@piotr-iohk
piotr-iohk deleted the ci/fix-ui-tests-apk-paths branch October 14, 2026 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants