ci: guard the Linux .deb archive copy against an empty apt cache
Summary
Follow-up to the non-blocking review notes on #3919. One file: .github/workflows/linux.yml. No linked issue: #3918 was auto-linked there but is an unrelated iPad fix, and the timeout reports were never filed.
The final cp /var/cache/apt/archives/*.deb ~/apt-archives/ runs under set -euo pipefail. An unmatched glob stays literal, so the cp fails the step when the archives dir holds no .deb ā as it would when a future runner image already ships every package. compgen -G now skips the copy there; a real cp failure still fails the step.
Cache question: kept. Would --no-install-recommends plus the bound alone be simpler? The first push of #3919 was exactly that, and it failed after 3 bounded attempts while the mirror was slow: an 11 MB package could not download inside the deadline. The cache is why most runs never ask the mirror (13ā14 s on a hit). A single actions/cache would save a partial archive after a failed install, so the restore/save pair stays unchanged.
Validation
Base a9fc9a1, tested SHA e40b6da.
pnpm check:affected --run --head e40b6da09c: exit 0,exactCommit: true.- Guard exercised under
bash -eo pipefailin a scratch dir: unguardedcp *.debon an empty dir exits 1; the guarded form skips and still copies when files exist. - CI: Linux Smoke Tests at this head, install step green on a cache miss and on a rerun cache hit.
Risk: none beyond #3919; the guard only removes a failure mode.
š¤ Generated with Claude Code