Skip to content

test: make the suite work against a stack on another machine - #207

Open
mdozhdev wants to merge 3 commits into
synonymdev:mainfrom
mdozhdev:test/relaunch-keeps-backend-host
Open

test: make the suite work against a stack on another machine#207
mdozhdev wants to merge 3 commits into
synonymdev:mainfrom
mdozhdev:test/relaunch-keeps-backend-host

Conversation

@mdozhdev

Copy link
Copy Markdown
Contributor

#206 made the backend host configurable. Running the suite that way surfaced three more places assuming localhost. All keep today's defaults, so existing CI is unaffected.

Relaunch loses the backend host. processArguments applies only to a session's first launch, so reinstallApp() dropped E2E_LOCAL_HOST and the app fell back to the Info.plist value fixed at build time — onboarding then timed out on TotalBalance-primary. Relaunch via mobile: launchApp, which takes an environment. Guarded on iOS and on the variable being set; nine call sites.

LND's cert misses its reachable address. It self-issues with SANs for 127.0.0.1, ::1 and its container IP, and both gRPC and REST verify the hostname. --tlsextraip adds the real address, reusing the variable --externalip already takes.

WDA timeouts and logs. WDA compiles on cold hosted runners and intermittently blew the 5-minute launch timeout, while logLevel: warn hid the Appium log. Both now overridable; log written to artifacts/.

Verified: full @lightning spec green on hosted runners with the stack on a second runner, 39 min end to end. tsc/eslint findings unchanged.

Draft until the companion bitkit-ios workflow is ready — it needs these on main first. Not specific to #205; #204 would need them too.

Related: synonymdev/pubky-stack#275, #206, #205

mdozhdev and others added 3 commits August 26, 2026 13:23
processArguments in the session capabilities apply only to the first
launch. reinstallApp and the other relaunch helpers call
driver.activateApp, which starts the app with no environment, so
E2E_LOCAL_HOST is lost and Env.swift falls back to the Info.plist value
fixed at build time.

Against a stack on another machine that means the app looks for Electrum
on the simulator itself and never produces a balance, so completeOnboarding
times out waiting for TotalBalance-primary. Every spec reinstalls in a
before hook, so it affects all of them.

Relaunch through `mobile: launchApp`, which does take an environment.
Guarded on iOS and on the variable being set, so nothing changes for
Android or for runs against a local stack.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Session creation intermittently times out waiting for WebDriverAgent, and
logLevel warn hides whether it is building, launching or failing to
connect. Route the appium server log to artifacts and let the level and
the WDA timeouts be raised per run.

Defaults are unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
LND issues its own cert on first start with SANs for 127.0.0.1, ::1 and
its container address. Both gRPC and REST verify the hostname, so a suite
running on another machine is rejected:

  ERR_TLS_CERT_ALTNAME_INVALID: IP 100.116.153.66 is not in the cert list:
  127.0.0.1, ::1, 172.18.0.4

tlsextraip adds the address LND is actually reached on, reusing the
variable externalip already takes. Defaults to 127.0.0.1, which is
already covered, so a local stack is unaffected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

1 participant