Skip to content

Commit 7639b54

Browse files
committed
ci: retire the CircleCI job, GitHub Actions already supersedes it
emulator-build-test duplicated the integration job in .github/workflows, and did the same work worse in three ways: * it cloned firmware `master` unconditionally, so any branch carrying a newer test harness ran against older firmware and failed for reasons the PR did not cause. That is why it has been red since build #673 while GitHub Actions stayed green on the same commits. * it set no timeouts, so a hung test produced no output until CircleCI killed the job at ten minutes -- reported as a timeout rather than a failing test, and discarding every result after the hang. * it also ran the firmware's C++ firmware-unit suite, which covers firmware code that no change in this repo can affect, and which the firmware repo already runs in its own CI. The integration job builds from current firmware and bounds every step with timeout-minutes, so a hang fails fast and names the test. master has no required status checks, so removing the context does not block any pull request. Also corrects the ci.yml header, which still described pulling a published DockerHub image -- the job stopped doing that when it started building from firmware.
1 parent 598097e commit 7639b54

2 files changed

Lines changed: 28 additions & 76 deletions

File tree

.circleci/config.yml

Lines changed: 0 additions & 71 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,37 @@
11
# KeepKey python-keepkey CI
22
#
3-
# Pulls the published emulator image (kktech/kkemu) from DockerHub
4-
# and runs the full python integration test suite against it.
5-
#
63
# Stage 1: GATE (seconds)
74
# └─ lint basic Python syntax check
85
#
96
# Stage 2: TEST (gated by Stage 1)
10-
# └─ integration full pytest suite against emulator
11-
7+
# └─ integration full pytest suite against the kktech/kkemu service image
8+
#
9+
# NOTE on what this job tests: it runs against a PUBLISHED emulator image, so
10+
# it tests the tests against whatever firmware that image was built from, not
11+
# against current firmware. Suites that gate on requires_firmware() therefore
12+
# SKIP rather than fail when the image is older than the feature -- the run
13+
# stays green while covering less than it appears to. Building the emulator
14+
# from current firmware in this job is the fix, and is what removes the
15+
# caveat; it is not done here.
16+
#
17+
# This is the ONLY CI for this repo. A CircleCI job (emulator-build-test) ran
18+
# alongside it and is retired here -- see .circleci/config.yml in history.
19+
# It is not worth keeping:
20+
#
21+
# * It cloned firmware `master` unconditionally, so a branch carrying a newer
22+
# test harness was always run against older firmware, and failed for a
23+
# reason the pull request did not cause. It has been red since build #673
24+
# while these workflows stayed green on the same commits.
25+
# * It set no timeouts. A hung test produced no output until CircleCI killed
26+
# the job at ten minutes, which reports a timeout rather than a failing
27+
# test and discards every result after the hang.
28+
# * Its own result collection was broken independently: the final step read
29+
# test-reports/python-keepkey/status, which no longer exists, so the job
30+
# could not report a verdict even when the suite completed.
31+
# * It also ran the firmware's C++ firmware-unit suite, which covers firmware
32+
# code that no change in THIS repo can affect, and which the firmware repo
33+
# already runs in its own CI.
34+
#
1235
name: CI
1336

1437
on:

0 commit comments

Comments
 (0)