Refactor cache functionality to remove common package dependency
What does this MR do?
- Moves configuration from common package to
cacheconfigpackage. - Removes
common.Builddependency, which means solving some issues (like how feature flags affect config) outside of the cache package.
Why was this MR needed?
Due to cyclic dependencies, it's almost impossible to call into the cache package from elsewhere in the code base. This makes migrating to CI Functions harder.
What's the best way to test this MR?
Existing tests should pass.
I did a manual test with GCS and this simple job:
my-job:
script:
- echo "data" > file
cache:
key: cache
paths:
- file
What are the relevant issue numbers?
Closes #39238 (closed)
Edited by Arran Walker