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

fix: set fail-on-cache-miss default to false #60

Open
wileyj opened this issue Jan 17, 2025 · 2 comments
Open

fix: set fail-on-cache-miss default to false #60

wileyj opened this issue Jan 17, 2025 · 2 comments
Assignees

Comments

@wileyj
Copy link
Collaborator

wileyj commented Jan 17, 2025

opening this as an issue since it's worth looking into. i don't think there's a simple solution here since if the cache is missing, the tests should fail (on retry) - but perhaps there's some way we can check for a cache, and then rebuild automatically if it's missing.

not sure what this may look like, or if it would lead to something like an indefinite loop that eventually times out - but it's worth a look.

from the PR:

Setting this to true makes a job fail if it does not have a cache hit, but this can happen in valid scenarios, such as retrying a failing test after the cache has been cleared. This causes some flakiness in CI (specifically during retries).

E.g. https://github.com/stacks-network/stacks-core/actions/runs/12794516952/job/35724642399?pr=5706

ref: #59

@wileyj
Copy link
Collaborator Author

wileyj commented Jan 17, 2025

cc @obycode @kantai

@BowTiedDevOps
Copy link
Collaborator

Hey @obycode!

I've had a chat with Jesse about rebuilding the cache, and we are thinking of some options, but none of them are ideal.

If we rebuild the cache when it doesn't exist, since tests are being run in a matrix, every test would attempt to create and upload the same cache (uploading a cache with the same name would likely fail the tests, so we'd only have 1 successful test). On a single test retry, there would only be a single cache created, adding about 20 mins extra time. In the case of re-running all failed tests, we would have the same problem of building multiple caches with the same name.

Another option would be creating the cache if it doesn't exist before running the tests, but this requires an intermediary workflow that calls the test workflow.

We're still looking into possible options here, will update you on the progress.

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

No branches or pull requests

2 participants