TRAP Caching: Disable on self-hosted runners #1298
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Self-hosted runners may have slow network connections, which means they are unlikely to benefit from TRAP caching. So, let's disable this feature by default on self-hosted runners (whilst still respecting what the workflow says if the user has explicitly enabled/disabled it there).
Checking of whether we're on a self-hosted runner is rather awkward. I was hoping there would just be an environment variable that tells us this, but sadly there is not. Instead, I've implemented a heuristic on the runner name which checks against the two currently possible names of GitHub-hosted runners. As a fallback, we also look for a toolcache called
hostedtoolcache
which is what the folder is always called on GitHub-hosted runners. Hopefully the fact we're checking two things makes this somewhat robust, although it's still more brittle than I would like and I am definitely open to a suggestion on a better solution.Merge / deployment checklist