CI: unbounded apt steps consume the whole job budget and report as opaque job timeouts

Open Beginner friendly
#6,238 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
86/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, linux
Domain
ci-cd, devops

Research direction

Start with .github/workflows/ci.yml lines 159-183 and 271-272, reading the two apt-related workflow steps and their existing job timeouts. Add bounded step-level handling for both installation steps, then validate the workflow syntax and confirm that an installation failure is reported at the step rather than only as a job timeout.

Written by the indexing model from the issue text.

Description

Summary

Two CI steps run apt with no step-level time bound. When a package mirror is slow, the step consumes the entire job budget and the job dies at timeout-minutes. The failure surfaces as a generic job timeout, which is indistinguishable from a slow build or a hung test — no test ever runs.

This has burned at least five jobs across four runs in ~13 hours, including three on main.

The two steps

  • .github/workflows/ci.yml:271-272Install Playwright system dependenciespnpm exec playwright install-deps chromium (apt under the hood). Job timeout-minutes: 30.
  • .github/workflows/ci.yml:159-183Install Tauri dependencies (Linux)apt-get update + apt-get install. Job timeout-minutes: 45.

Both already pass Acquire::Retries=3 and Acquire::http::Timeout=30. Those bound an individual request; neither bounds the step, so a mirror that is slow-but-not-dead is retried until the job budget is gone.

Observed occurrences

run branch head job step duration
32155633872 PR #5946 17d455a9b Desktop Smoke E2E (4) Install Playwright system dependencies 29m47s → cancelled @30m
32155633872 PR #5946 17d455a9b Desktop Core Install Tauri dependencies (Linux) 43m35s → cancelled @45m
32095368993 main ee992ff08 Desktop Smoke E2E (3) Install Playwright system dependencies ~29m50s → cancelled @30m
32156485001 main 3fdf289b7 Desktop Smoke E2E (3) and (1) Install Playwright system dependencies ~29m50s → cancelled @30m
32158297977 main 5694e78de Desktop Smoke E2E (2) and (3) Install Playwright system dependencies observed running >20m

In every case each preceding step succeeded and every following step is skipped. Annotation is always The job has exceeded the maximum execution time of 30m0s / 45m0s — nothing names apt, which is what makes this expensive to diagnose. The PR that surfaced it (#5946) changes only six files under docs/.

Why it's worth fixing rather than re-running

The failure is silent about its own cause. A reviewer sees "Desktop Core timed out at 45m" and reasonably suspects a build regression; the actual event is a package mirror being slow during a ~4-minute apt install. Re-running works often enough that the underlying tax stays invisible.

Suggested fix

Bound the step so it fails fast and says what happened:

- name: Install Playwright system dependencies
  timeout-minutes: 10
  run: cd desktop && pnpm exec playwright install-deps chromium

and likewise for the Tauri deps step. A step-level timeout-minutes turns a 30-minute silent budget burn into a fast, correctly-attributed failure. Optionally add -o Acquire::http::Dl-Limit / an overall timeout wrapper, but the step bound is the part that makes the diagnosis obvious.

Dominant language
Rust
Stars
33.7k
Forks
4.4k
Avg merge
1d 21h
Merged PRs (30d)
239

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from block/buzz

All issues in block/buzz

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.