Skip to content

Commit aaa761c

Browse files
committed
ci: keep standalone lane free of release artifacts
1 parent 216c238 commit aaa761c

2 files changed

Lines changed: 44 additions & 0 deletions

File tree

.circleci/config.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,15 @@ jobs:
3737
rm -rf deps/python-keepkey
3838
mv ../.pykk deps/python-keepkey
3939
40+
# This is python-keepkey's standalone compatibility lane. Release
41+
# OLED/PDF evidence is generated only by the exact-head firmware
42+
# workflow, where the firmware and Python SHAs are pinned together.
43+
# Do not inherit the firmware checkout's report/screenshot phase:
44+
# it can describe a different (published/master) emulator and is
45+
# therefore not release evidence for this Python PR.
46+
cp deps/python-keepkey/.circleci/standalone-emulator-tests.sh \
47+
scripts/emulator/python-keepkey-tests.sh
48+
4049
# ────────────────────────────────────────────────────────────────
4150
# 3) Build the Docker-based emulator tests
4251
# ────────────────────────────────────────────────────────────────
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/sh
2+
set -e
3+
4+
# python-keepkey's own CI is a compatibility test against the emulator supplied
5+
# by the firmware checkout. It deliberately does not produce OLED/PDF release
6+
# evidence. Authoritative display evidence is generated by keepkey-firmware CI,
7+
# which pins both repositories to exact candidate SHAs.
8+
9+
mkdir -p /kkemu/test-reports/python-keepkey
10+
11+
echo "=== Waiting for emulator ==="
12+
for attempt in $(seq 1 20); do
13+
if echo -n "PINGPING" | nc -u -w1 kkemu 11044 2>/dev/null | grep -q PONG; then
14+
echo "Emulator ready (attempt $attempt)"
15+
break
16+
fi
17+
if [ "$attempt" -eq 20 ]; then
18+
echo "Emulator did not become ready"
19+
echo "1" > /kkemu/test-reports/python-keepkey/status
20+
exit 1
21+
fi
22+
sleep 2
23+
done
24+
25+
cd /kkemu/deps/python-keepkey/tests
26+
set +e
27+
KK_TRANSPORT_MAIN=kkemu:11044 \
28+
KK_TRANSPORT_DEBUG=kkemu:11045 \
29+
pytest -v --tb=short --timeout=60 --timeout-method=signal \
30+
--junitxml=/kkemu/test-reports/python-keepkey/junit.xml
31+
pytest_status=$?
32+
set -e
33+
34+
echo "$pytest_status" > /kkemu/test-reports/python-keepkey/status
35+
exit "$pytest_status"

0 commit comments

Comments
 (0)