Make rustc available to gitlab-rails `bundle install`
What does this MR do?
Gems that have Rust extensions will need to have rustc
available to build. This is a follow-up to !1317 (merged), which made rustc
during compile-time of the Ruby interpreter.
If we want to use a Rust extension with Ruby, we'll need to install libclang-dev
since rb-sys
uses bindgen
, which depends on clang: https://rust-lang.github.io/rust-bindgen/requirements.html. See !1342 (closed) as a test that installs a Ruby gem with a Rust extension.
No disk space impact since rustc
is only used in a multi-stage build before bundle install
:
Image | Size |
---|---|
registry.gitlab.com/gitlab-org/build/cng/gitlab-rails-ee:master | 1.69 GB |
registry.gitlab.com/gitlab-org/build/cng/gitlab-rails-ee:sh-add-rust-to-gitlab-rails | 1.69 GB |
registry.gitlab.com/gitlab-org/build/cng/gitlab-rails-ee:master-ubi8 | 2.42 GB |
registry.gitlab.com/gitlab-org/build/cng/gitlab-rails-ee:sh-add-rust-to-gitlab-rails-ubi8 | 2.42 GB |
Related issues
Relates to gitlab-org/charts/gitlab#4307 (closed)
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