Skip to content

e2e setup: Linux's apt packages from the Actions cache - #525

Merged
Nawid3333 merged 1 commit into
mainfrom
ci/apt-cache
Oct 22, 2026
Merged

Nawid3333 merged 1 commit into
mainfrom
ci/apt-cache

Conversation

@Nawid3333

Copy link
Copy Markdown
Owner

On 2026-10-22 the Ubuntu mirror (azure.archive.ubuntu.com) sent less than a package a second, and three CI runs failed in the e2e setup with three 300 s apt attempts each, before any test ran.

Like Windows' ffmpeg, the packages apt fetches for ffmpeg and PulseAudio are now kept in the Actions cache:

  • Key: a week per runner image (e2e-apt-<ImageOS>-<ISO week>).
  • Fetching: apt downloads to and installs from ~/apt-e2e (-o Dir::Cache::Archives), so on a hit the mirror sends only the package lists and whatever changed that week.
  • Saving: a miss saves the .deb files for the jobs after it. Only the .deb files are saved: apt's lock file and partial/ belong to root, and the save step does not run as root.

tests/workflows/e2e-setup.test.sh gets three new kinds of check:

  • a miss keeps the packages in the cached folder and asks for a save;
  • a hit installs from that folder and saves nothing;
  • apt that keeps failing saves nothing.

Against the old action, 4 of these checks fail.

🤖 Generated with Claude Code

…nner image

On 2026-10-22 the Ubuntu mirror sent less than a package a second, and three
CI runs failed in the setup with three 300 s apt attempts each, before any
test ran. Like Windows' ffmpeg, the packages apt fetches are now kept a week
(per runner image): the mirror sends the package lists and what changed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Nawid3333
Nawid3333 merged commit 31631a9 into main Oct 22, 2026
35 checks passed
@Nawid3333
Nawid3333 deleted the ci/apt-cache branch October 22, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant