Skip to content

Commit 67156e9

Browse files
authored
Merge pull request #189 from synonymdev/mainnet-probe-local-runner
Add local Android mainnet probe runner
2 parents 8ae2704 + 93239cf commit 67156e9

4 files changed

Lines changed: 115 additions & 1 deletion

File tree

.gitignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ docker/lnurl-server-data
77
docker/lnurl-server/data
88
docker/.trezor-user-env
99
artifacts
10+
results
1011
WARP.md
1112
.ai
12-
tools/seedkit/seedkit
13+
tools/seedkit/seedkit
14+
config/*.local.env
15+
config/*.env
16+
!config/*.env.example
17+
config/probe-targets*.json
18+
!config/probe-targets.example.json
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copy this file to config/mainnet-probe.android.local.env and fill in PROBE_SEED.
2+
# The local file is gitignored.
3+
4+
APP_ID_ANDROID="to.bitkit"
5+
AUT_FILENAME="bitkit_e2e_mainnet.apk"
6+
APPIUM_NEW_COMMAND_TIMEOUT="1800"
7+
LN_STABILIZE_DELAY_MS="45000"
8+
PER_TEST_TIMEOUT_MS="6600000"
9+
10+
# Optional but recommended when a physical phone is connected.
11+
ANDROID_UDID=""
12+
13+
# Required: funded mainnet probe wallet seed.
14+
PROBE_SEED=""
15+
16+
PROBE_TARGETS_FILE="./config/probe-targets.json"
17+
PROBE_AMOUNT_PROFILE="full"
18+
PROBE_ORDER="desc"
19+
PROBE_DELAY_MS="10000"
20+
PROBE_RETRIES="2"
21+
PROBE_RETRY_DELAY_MS="5000"
22+
PROBE_RESET_SCORES="true"
23+
PROBE_FETCH_RETRIES="2"
24+
PROBE_READINESS_TIMEOUT_MS="300000"
25+
PROBE_READINESS_POLL_MS="5000"
26+
PROBE_MIN_GRAPH_CHANNELS="10000"

config/probe-targets.example.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[
2+
{
3+
"name": "Example Lightning Address",
4+
"type": "lightningAddress",
5+
"address": "example@domain.test",
6+
"required": true
7+
},
8+
{
9+
"name": "Example LNURL Callback",
10+
"type": "lnurlCallback",
11+
"url": "https://example.com/.well-known/lnurlp/example",
12+
"required": true
13+
},
14+
{
15+
"name": "Example Node",
16+
"type": "nodeId",
17+
"nodeId": "03c913d061dfe0adbfd87c0e98e66033be0dbbb2413de26bd363c63970480a9a80",
18+
"required": true
19+
}
20+
]
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
E2E_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
5+
CONFIG_FILE="${MAINNET_PROBE_CONFIG:-$E2E_ROOT/config/mainnet-probe.android.local.env}"
6+
EXAMPLE_CONFIG="$E2E_ROOT/config/mainnet-probe.android.env.example"
7+
8+
if [[ ! -f "$CONFIG_FILE" ]]; then
9+
echo "Missing local probe config: $CONFIG_FILE" >&2
10+
echo "Create one with:" >&2
11+
echo " cp $EXAMPLE_CONFIG $CONFIG_FILE" >&2
12+
echo "Then fill in PROBE_SEED and, optionally, ANDROID_UDID." >&2
13+
exit 1
14+
fi
15+
16+
set -a
17+
# shellcheck source=/dev/null
18+
source "$CONFIG_FILE"
19+
set +a
20+
21+
export BACKEND="${BACKEND:-mainnet}"
22+
export APP_ID_ANDROID="${APP_ID_ANDROID:-to.bitkit}"
23+
export AUT_FILENAME="${AUT_FILENAME:-bitkit_e2e_mainnet.apk}"
24+
export APPIUM_NEW_COMMAND_TIMEOUT="${APPIUM_NEW_COMMAND_TIMEOUT:-1800}"
25+
export PROBE_AMOUNT_PROFILE="${PROBE_AMOUNT_PROFILE:-full}"
26+
export PROBE_ORDER="${PROBE_ORDER:-desc}"
27+
export PROBE_DELAY_MS="${PROBE_DELAY_MS:-10000}"
28+
export PROBE_RETRIES="${PROBE_RETRIES:-2}"
29+
export PROBE_RETRY_DELAY_MS="${PROBE_RETRY_DELAY_MS:-5000}"
30+
export PROBE_RESET_SCORES="${PROBE_RESET_SCORES:-true}"
31+
export PROBE_FETCH_RETRIES="${PROBE_FETCH_RETRIES:-2}"
32+
export PROBE_READINESS_TIMEOUT_MS="${PROBE_READINESS_TIMEOUT_MS:-300000}"
33+
export PROBE_READINESS_POLL_MS="${PROBE_READINESS_POLL_MS:-5000}"
34+
export PROBE_MIN_GRAPH_CHANNELS="${PROBE_MIN_GRAPH_CHANNELS:-10000}"
35+
export LN_STABILIZE_DELAY_MS="${LN_STABILIZE_DELAY_MS:-45000}"
36+
export PER_TEST_TIMEOUT_MS="${PER_TEST_TIMEOUT_MS:-6600000}"
37+
38+
if [[ -z "${PROBE_SEED:-}" ]]; then
39+
echo "Missing PROBE_SEED in $CONFIG_FILE" >&2
40+
exit 1
41+
fi
42+
43+
if [[ -z "${PROBE_TARGETS_JSON:-}" ]]; then
44+
PROBE_TARGETS_FILE="${PROBE_TARGETS_FILE:-../bitkit-nightly/config/probe-targets.json}"
45+
if [[ "$PROBE_TARGETS_FILE" != /* ]]; then
46+
PROBE_TARGETS_FILE="$E2E_ROOT/$PROBE_TARGETS_FILE"
47+
fi
48+
49+
if [[ ! -f "$PROBE_TARGETS_FILE" ]]; then
50+
echo "Missing probe targets file: $PROBE_TARGETS_FILE" >&2
51+
exit 1
52+
fi
53+
54+
export PROBE_TARGETS_JSON="$(jq -c . "$PROBE_TARGETS_FILE")"
55+
fi
56+
57+
cd "$E2E_ROOT"
58+
59+
./ci_run_android.sh \
60+
--mochaOpts.grep "@probe_mainnet" \
61+
--mochaOpts.timeout "$PER_TEST_TIMEOUT_MS" \
62+
"$@"

0 commit comments

Comments
 (0)