debian-mirror-gitlab/.gitlab/merge_request_templates/New Version of gitlab-style...

2.9 KiB

What does this MR do and why?

Validating upcoming release of gitlab-styles . See .

This MR can be reused to upgrade gitlab-styles in this project after a new version of gitlab-styles is released.

Checklist

  • Verify upcoming release of gitlab-styles
    • Point to "Release" MR of gitlab-styles in Gemfile
      • For example, gem 'gitlab-styles', '~> 9.1.0', require: false, git: 'https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles.git', ref: 'ddieulivol-upgrade_to_9.1.0'
    • Update bundler's checksum file via bundle exec bundler-checksum init
    • rubocop job
      • Inspect any warnings/errors
      • (Optional) Generate TODOs for pending offenses
        • Put 🆕 cop rules (or if configuration is changed) in "grace period". See docs.
        • (Optional) Remove any offenses for disabled cops
        • Use grep --perl-regexp -o ":\d+\d+: \w: \[\S+\] ([\w/]+)" raw_job_output.log | awk '{print $4}' | sort | uniq -c to get a list of cop rules with offenses. Where raw_job_output.log is the raw output of the rubocop job
        • Ignore offenses related to temporary changes in Gemfile
      • (Optional) Autocorrect offenses
      • Compare the total runtime of rubocop --parallel scan with previous runs
    • Make sure CI passes 💚
    • Don't merge this MR yet!
    • Wait for gitlab-styles to be released
  • Upgrade released version of gitlab-styles
    • Make sure release is complete
    • Rephrase the title and MR description to match final upgrade
    • Point to released version in Gemfile
      • gem 'gitlab-styles', '~> 9.1.0', require: false
      • Update bundler's checksum file via bundle exec bundler-checksum init
    • (Optional) Regenerate TODOs for new/changed cop rules
    • Make sure CI passes 💚
    • Let the MR being reviewed again and merged
    • (Optional) Refine this MR template.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

/label ~"type::maintenance" ~"maintenance::dependency" ~backend ~"Engineering Productivity" ~"static code analysis"