Skip to content

Conversation

@llimeht
Copy link
Contributor

@llimeht llimeht commented Oct 16, 2025

This PR uses an additional cache action to store the figures, using sasmodels' existing ability to keep figures in a cache so they do not need to be continually rebuilt. As suggested in the code, the cache is invalidated if doc/genmodel.py is changed or if the matplotlib version is changed.

Caching the figures shaves about 70s of the CI, with the Windows runners now being the slowest to complete. The slowest step on that slowest path is installing the test dependencies; that could be sped up with uv if desired.

Marking as a draft for now since to get CI to run at all, ruff currently needs to be disabled.

Copy link
Member

@rozyczko rozyczko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding a minor debug action for seeing the hit/miss info

- name: Report cache status
  if: env.BUILD_WHEEL == 'true'
  run: |
    if [ "${{ steps.cache-figures.outputs.cache-hit }}" == "true" ]; then
      echo "Figure cache hit - using cached figures"
    else
      echo "Figure cache miss - will generate new figures"
    fi

@llimeht
Copy link
Contributor Author

llimeht commented Nov 11, 2025

Consider adding a minor debug action for seeing the hit/miss info

Have added that in - the cache action actually already reports this though, so perhaps not really worth it after all.

Cache not found for input keys:

@llimeht llimeht merged commit 00a1faf into SasView:master Nov 11, 2025
13 checks passed
@llimeht llimeht deleted the tmp/cache-figures branch November 11, 2025 12:14
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