Skip to content

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

Draft
mdozhdev wants to merge 4 commits into
mainfrom
test/e2e-remote-jobs
Draft

test: make the suite work against a stack on another machine#208
mdozhdev wants to merge 4 commits into
mainfrom
test/e2e-remote-jobs

Conversation

@mdozhdev

Copy link
Copy Markdown
Collaborator

#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.

Branch name matches synonymdev/bitkit-ios test/e2e-remote-jobs so determine-e2e-branch pairs them automatically.

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

mdozhdev and others added 3 commits August 27, 2026 12:01
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>
The spec builds its own LNURL server pointed at LND over REST, but pinned
the address to 127.0.0.1:8080 while taking the macaroon and cert from
lndConfig. Against a stack on another machine there is nothing on
loopback, so the lnurl-channel flow never completes and ConnectButton
never appears.

Use lndConfig for the address too, which #206 already made configurable.

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