Skip to content

This grabs components from our Gemfile

John Skarbek requested to merge jts/commit-to-cng into master

1650e6a9 - This grabs components from our Gemfile

  • Currently only Mailroom is the only gem we utilize as it's own service
  • This creates mailroom as a component of GitLab
  • pulls this only for CNG as omnibus has it's own mechanism of building the mailroom component
  • This reuses our existing mechanism of finding component versions, which means the following:
    • omnibus has it's own method of retrieving versions using official tags
    • CNG does not, so we need to convert SemVer components (not stuff in our gems) need to have the v as it appears to be standard for GitLab when tagging our components
    • ensures that specific components are named properly for CNG, example VERSION is equal to GITLAB_VERSION
      • all of this unique to the way CNG does it's build process
  • Getting versions from a Gemfile.lock is now repetitive, so it needs to be broken out, preferably into it's own class

0616b1f4 - Creates class for component versions in gems

  • Creates a subclass for handling component versions which are a part of gems
  • Since these versions are already located in our Gemfile somewhere:
    • Utilizes Bundler to find the version
    • contains the necessary wrappers to guide our existing calls to find the file either via the GitLab API, or via a file on disk
  • Separates the code classes into it's own directory for better file structure of this repo

Starts to address: gitlab-com/gl-infra/delivery#577 (closed)

Edited by John Skarbek

Merge request reports