Skip to content

ci: cache the pooch example datasets on the e2e jobs - #128

Merged
CSSFrancis merged 1 commit into
mainfrom
ci/cache-pooch-datasets
Aug 9, 2026
Merged

ci: cache the pooch example datasets on the e2e jobs#128
CSSFrancis merged 1 commit into
mainfrom
ci/cache-pooch-datasets

Conversation

@CSSFrancis

Copy link
Copy Markdown
Owner

Three slow-slice e2e specs (sped_ag_grid, progressive_signal_preview, progressive_orientation_preview) load pyxem's sped_ag, which pooch downloads from Zenodo on first use — true "first run then cached" locally, but every CI runner is a first run, so each of those jobs re-fetched it every time. Beyond the wasted minutes, a stalled Zenodo download eats the spec's entire budget, which is the most plausible mechanism behind the earlier sped_ag_grid job that hung to the job kill with zero diagnostics.

One actions/cache step on ~/.cache/pyxem (the pooch os_cache on the ubuntu runners), keyed on uv.lock with a restore-keys prefix fallback so it stays warm across unrelated dependency bumps and re-saves on a pyxem bump. Integrity is pooch's job — checksums verify on every load regardless of where the file came from. Same approach as the hyperspy org's shared pooch-cache workflows (hyperspy/.github), minus the registry-prefetch machinery we don't need for a single in-package fetch.

The python test jobs are untouched: the migrated suite deliberately uses the bundled synthetic datasets and downloads nothing.

Three slow-slice specs load pyxem's sped_ag; every uncached runner
re-downloaded it from Zenodo per job, and a stalled download eats the
spec's whole budget (the likely mechanism behind the sped_ag_grid job
that hung to the kill with no diagnostics). actions/cache on ~/.cache/
pyxem, lock-keyed with a restore-keys fallback -- the pattern the
hyperspy org's shared pooch-cache workflows use; pooch checksums verify
integrity on every load either way.
@CSSFrancis
CSSFrancis marked this pull request as ready for review August 9, 2026 00:57
@CSSFrancis
CSSFrancis merged commit a154cb2 into main Aug 9, 2026
60 of 61 checks passed
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