Fix caching of bundled gems in the Ruby.gitlab-ci.yml
-
Please check this box if this contribution uses AI-generated content as outlined in the GitLab DCO & CLA
What does this MR do and why?
In the default Ruby.gitlab-ci.yml
template exists an incorrect configuration for caching of bundled gems, as a result, the consequent commits and triggered CI pipelines fetch and build Ruby gems instead of reading them from the cache:
$ bundle config set --local deployment true
$ bundle install -j $(nproc)
Fetching rake 13.2.1
Installing rake 13.2.1
Fetching bigdecimal 3.1.7
Fetching base64 0.2.0
Installing base64 0.2.0
Fetching concurrent-ruby 1.2.3
...
After this small fix, it works faster because reads gems from the cache:
$ bundle config set --local deployment true
$ bundle config set --local path './vendor/ruby'
$ bundle install -j $(nproc)
Using rake 13.2.1
Using base64 0.2.0
...
MR acceptance checklist
It speeds up automated tests passing
Screenshots or screen recordings
Before: https://gitlab.com/abratashov/kamal-blog-github/-/jobs/6646173877
After: https://gitlab.com/abratashov/kamal-blog-github/-/pipelines/1256617021
How to set up and validate locally
- Just create two PRs with previous and current CI changes and check timing of pipeline running, e.g. https://gitlab.com/abratashov/kamal-blog-github
Edited by 🤖 GitLab Bot 🤖