Skip to content

ci(linux): 'Install Linux desktop dependencies' hangs past the 30-min job timeout — 6 of the last 7 Linux cancellations #1870

Description

@thymikee

The Linux workflow's apt step hangs often enough to be a real red-lane cost. Of the last 40 linux.yml runs: 30 success, 7 cancelled, and 6 of those 7 died in Install Linux desktop dependencies (.github/workflows/linux.yml:48-61), each burning the full timeout-minutes: 30 (line 34) before being killed. The seventh was an ordinary supersession.

Cancelled in that step: runs 32228463477, 32224278947, 32176947718, 32169168040, 32168751257, 32166997959.

The step never reaches repo code, so every one of these is a red check on a PR that has nothing to do with it. During #1781 wave 3 it blocked four PRs (#1854, #1859, #1861, #1867) and survived repeated gh run rerun; it is intermittent, not a hard outage — other branches completed the same lane between failures.

sudo apt-get update -qq
sudo apt-get install -y -qq xvfb xdotool scrot at-spi2-core python3-gi \
  gir1.2-atspi-2.0 libatk-adaptor dbus-x11 gnome-calculator wmctrl

No retry, no mirror pinning, and -qq hides which package stalls. Options, cheapest first:

  1. Drop -qq (or add -o Debug::Acquire::http=true) so the log names the stalling mirror/package instead of ending in silence.
  2. Add timeout + a retry around the two apt calls, so a stalled mirror costs seconds rather than 30 minutes.
  3. Set Acquire::Retries and/or APT::Acquire::http::Timeout, or pin an alternative mirror.
  4. Give the step its own short timeout-minutes so it fails fast and legibly rather than consuming the job budget.
  5. Cache the package set, or move to a container image that already has them.

Filed from #1781 wave 3, where 'red-lane attention' is an explicit cost line.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions