Skip to content

Harden regression workflow dependency install#229

Merged
tshead2 merged 1 commit intosandialabs:mainfrom
eaton-lab:ci-regression-workflow-hardening
Mar 19, 2026
Merged

Harden regression workflow dependency install#229
tshead2 merged 1 commit intosandialabs:mainfrom
eaton-lab:ci-regression-workflow-hardening

Conversation

@eaton-lab
Copy link
Contributor

Summary

This hardens the regression test workflow after the recent PR exposed some fragility in the CI environment
setup.

The current workflow can fail during dependency installation because it installs system packages without
refreshing apt metadata, relies on some transitive Python dependencies for the documentation scenarios, and
always uploads the same artifact name across the test matrix.

Changes

  • enable pip caching in actions/setup-python
  • run apt-get update before installing system packages
  • install ffmpeg and ghostscript with -y --no-install-recommends
  • use python -m pip consistently
  • install nbformat explicitly, since the documentation regression step imports it directly
  • keep the existing .[all] install path for now
  • upload failed-test artifacts only when a job fails
  • give failed-test artifacts a matrix-specific name to avoid collisions

Why

This is a workflow-only fix. It does not change Toyplot runtime behavior.

The goal is to make the regression job more reliable across the Python version matrix and reduce avoidable CI
failures caused by environment setup rather than code regressions.

Validation

This PR changes only .github/workflows/regression-tests.yml.

I verified the workflow diff locally with:

git diff --check -- .github/workflows/regression-tests.yml

@tshead2 tshead2 merged commit c82c90a into sandialabs:main Mar 19, 2026
0 of 6 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.

2 participants