We use Ruby for CI purposes in a lot of repos (at least until T138401: Replace jsduck with JSDoc3 across all Wikimedia code bases). This means we have a small dependency chain subject to updates (and potentially security issues, as is suggested with rubocop).
Steps, not all procedural:
- git checkout -b bump-ruby-ci
- Edit the Gemfile and Rakefile to update to current templates, remove crud, update versions
- bundle update
- bundle exec rake
- Sanity-check it still tests the right files
- rubocop --auto-gen-config
- Sanity-check the auto-gen'ed config is not stupid
- bundle exec rake
- git add Gemfile Gemfile.lock Rakefile .jsduck/
- git commit -m "build: Update Ruby toolchain to latest"