Skip to content

ubi8: Install Ruby binstubs for Gitaly gems

Stan Hu requested to merge sh-add-git-linguist-markup-ubi8 into master

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 by Stan Hu

Merge request reports