Skip to content
Snippets Groups Projects
  • Stan Hu's avatar
    1ea31326
    Ensure Ruby platform is set globally on ARM64 OSes · 1ea31326
    Stan Hu authored
    Previously Gitaly's `bundle install` installed a native gem for
    Nokogiri, even though GitLab Rails already installed the Ruby platform
    version. `bundle config set <value>`by default only sets the value
    locally, so the `force_ruby_platform` setting only affected GitLab
    Rails.
    
    Due to `rack-compiler-dock` building native gems on ARM64 with a
    Ubuntu 20.04-based image instead of `manylinux`
    (https://github.com/pypa/manylinux) as x86 builds do, ARM64 native
    gems depend on glibc v2.29. RedHat ARM64 platforms usually use an
    older version, such as v2.28 in CentOS 8.
    
    Note that Omnibus depends on a number of projects that may use native
    gems:
    
    - GitLab Rails
    - Gitaly
    - gitlab-exporter
    - MailRoom
    
    Currently only Nokogiri v1.13 appears to ship an ARM64 native
    gem. However, if some gem does the same, such as `pg`, then we'd hit
    similar issues with `gitlab-exporter`. To avoid this, set
    `force_ruby_platform` to `true` globally.
    
    Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/367444
    
    Changelog: fixed
    1ea31326
    History
    Ensure Ruby platform is set globally on ARM64 OSes
    Stan Hu authored
    Previously Gitaly's `bundle install` installed a native gem for
    Nokogiri, even though GitLab Rails already installed the Ruby platform
    version. `bundle config set <value>`by default only sets the value
    locally, so the `force_ruby_platform` setting only affected GitLab
    Rails.
    
    Due to `rack-compiler-dock` building native gems on ARM64 with a
    Ubuntu 20.04-based image instead of `manylinux`
    (https://github.com/pypa/manylinux) as x86 builds do, ARM64 native
    gems depend on glibc v2.29. RedHat ARM64 platforms usually use an
    older version, such as v2.28 in CentOS 8.
    
    Note that Omnibus depends on a number of projects that may use native
    gems:
    
    - GitLab Rails
    - Gitaly
    - gitlab-exporter
    - MailRoom
    
    Currently only Nokogiri v1.13 appears to ship an ARM64 native
    gem. However, if some gem does the same, such as `pg`, then we'd hit
    similar issues with `gitlab-exporter`. To avoid this, set
    `force_ruby_platform` to `true` globally.
    
    Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/367444
    
    Changelog: fixed