ci/fastboot: Add a serial timeout to catch fastboot prompt failure.
authorEmma Anholt <emma@anholt.net>
Thu, 10 Jun 2021 20:42:35 +0000 (13:42 -0700)
committerMarge Bot <eric+marge@anholt.net>
Fri, 11 Jun 2021 20:24:55 +0000 (20:24 +0000)
commitfe70badfc3d99034273503ef354b89302d304251
tree3882e2d0a98a6028d93f7ef778d6a03ea987ebc6
parenta084e79a491572f42684455cb4ac584071d654fd
ci/fastboot: Add a serial timeout to catch fastboot prompt failure.

The a530s will occasionally fail to make it to the fastboot prompt,
with no other deltas between a working log and a log stalled waiting
for that line to show up.

So, add a serial timeout (like the rpi boards do for similar reasons),
and on timeout restart the run.  We actually restart the whole serial
watching process, because the SerialBuffer finishes itself on timeout.
This should also help with the intermittent issue we've had where a
power cycle causes the python serial module to throw an exception.

Tested with the gitlab-disabled db820c that never makes it to the
fastboot prompt (I think it's one where we need a longer micro cable
to connect it!) and saw successful boot looping to retry.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11308>
.gitlab-ci/bare-metal/fastboot_run.py