Skip to content
GitLab
Next
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • C CNG
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Custom issue tracker
    • Custom issue tracker
  • Merge requests 19
    • Merge requests 19
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Repository
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • GitLab.orgGitLab.org
  • Build
  • CNG
  • Merge requests
  • !808

ubi8: Install Ruby binstubs for Gitaly gems

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Stan Hu requested to merge sh-add-git-linguist-markup-ubi8 into master Oct 28, 2021
  • Overview 26
  • Commits 2
  • Pipelines 19
  • Changes 1

What does this MR do?

Ruby gems such as gitlab-linguist install binstubs (https://bundler.io/v2.2/man/bundle-binstubs.1.html) that need to be available on the Gitaly nodes. Regular images don't have this issue because /usr/bin is used directly, but UBI8 images copy only the binaries they need.

When binstubs are manually installed, bundler appears to need write access to the target destination, or odd permission errors result. We install these binstubs in /srv/gitaly-ruby/bin to ensure the user can own these binaries.

Relates to gitlab-org/charts/gitlab#2950 (closed)

Test plan

  1. Create a new project.
  2. Add test.rb with some Ruby code.
  3. In the Rails console, run:
::DetectRepositoryLanguagesWorker.perform_async(project_id)

This will cause group/project/-/graphs/main/charts to be updated:

image

Checklist

See Definition of done.

For anything in this list which will not be completed, please provide a reason in the MR discussion

Required

  • Merge Request Title, and Description are up to date, accurate, and descriptive
  • MR targeting the appropriate branch
  • MR has a green pipeline on GitLab.com

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes
  • Documentation created/updated
  • Integration tests added to GitLab QA
  • The impact any change in container size has should be evaluated
Edited Oct 29, 2021 by Stan Hu
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: sh-add-git-linguist-markup-ubi8