Refactor cache functionality to remove common package dependency
### Problem 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. ### Proposed Solution - Move configuration from common package to a new `cacheconfig` package - Remove `common.Build` dependency from the cache package - Solve issues like how feature flags affect config outside of the cache package ### Benefits - Eliminates cyclic dependencies in the cache package - Enables easier integration with CI Functions - Improves code modularity and separation of concerns ### Implementation Details - Create new `cache/cacheconfig` package with cache configuration types - Update all cache adapters (S3, GCS, Azure) to use the new configuration types - Refactor cache functionality to remove dependency on `common.Build` - Update tests to reflect the new structure ### Acceptance Criteria - [X] All existing cache tests pass - [ ] Manual cache test with one configured cloud bucket works ### Related Work This refactoring is needed to support the migration to CI Functions platform. Sources: [Draft: Refactor cache functionality to remove common package dependency](https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/6366)
issue