Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test caching to improve workflow performance #1598

Open
2 tasks
james-garriss opened this issue Feb 26, 2025 · 0 comments
Open
2 tasks

Test caching to improve workflow performance #1598

james-garriss opened this issue Feb 26, 2025 · 0 comments
Assignees
Labels
analysis-required This issue requires review or analysis work to complete enhancement This issue or pull request will add new or improve existing functionality Testing This issue or task involves testing the automation tool function

Comments

@james-garriss
Copy link
Collaborator

james-garriss commented Feb 26, 2025

💡 Summary

Probably the most time-consuming part of any workflow is waiting for ScubaGear to initialize. Caching is probably the best solution for this problem, and GitHub's caches were designed specifically with dependencies in mind. I have explored the use of caching with the restore-use-cache paradigm already (https://github.com/cisagov/ScubaGear/blob/test-caching-for-workflows/.github/workflows/test_caching.yaml), and it seems to work.

This issue would be to take this paradigm and apply it to the simplest workflow possible that initializes (maybe smoke tests, maybe workflow pipeline).

Motivation and context

Workflows that initialize are slow. The workflow pipeline takes 12 minutes, and around 8 of those are just initializing. If this caching works, it would significantly improve performance and reduce wait times.

Implementation notes

Please provide details for implementation, such as:

  • Select a workflow w initialization.
  • Modify it to use new paradigm.
  • Run it, run it, run it, and then run it some more.
  • Determine if it works.
  • Determine if it's faster.

Acceptance criteria

How do we know when this work is done?

  • It works.
  • It's faster.

NOTE: Follow on tasking would be to create issues for each of the remaining workflows that should use this same concept.

@james-garriss james-garriss self-assigned this Feb 26, 2025
@james-garriss james-garriss added enhancement This issue or pull request will add new or improve existing functionality Testing This issue or task involves testing the automation tool function analysis-required This issue requires review or analysis work to complete labels Feb 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analysis-required This issue requires review or analysis work to complete enhancement This issue or pull request will add new or improve existing functionality Testing This issue or task involves testing the automation tool function
Projects
None yet
Development

No branches or pull requests

1 participant