action #138029
Updated by tinita 12 months ago
## Motivation Whilst a `wheels.yaml` is in place a request to GitHub is made for each reference to a GitHub-hosted repo in that file every time a job is prepared. This can amount to several hundreds of attempts daily even with a single repo. This is why we should look into caching wheel repositories, i.e. tiny git repositories, which are commonly stored on github. So I suggest we research a bit what are current best practices how to handle that. Maybe there are generic solutions and we don't want to reinvent the wheel. ## Acceptance criteria * **AC1**: When there are no changes to a wheel repository we know how openQA tests on workers could access the content of wheels from a location within the openQA infrastructure without needing to reclone from github * **AC2:** When there are changes to a wheel repository we know how openQA tests would be able to access to most recent code version from wheel repos ## Suggestions * Read #60272 * Conduct a web research how to "cache github repositories" * Look into "git worktrees" for repositories and branches, see #60272 * Look into how git uses efficient hardlinks when cloning locally, e.g. from a cache directory to the pool of the openQA worker * Look into the existing caching mechanisms used for needles and test distributions (rsync) * Optional: Build a prototype ## Out of scope * Manage storage capacity long-term / clean-up service