Add gitlab-rust base image
What does this MR do?
This adds rustc
in preparation for Rust-related work:
- Rust port of prometheus-client-mmap: gitlab-org/ruby/gems/prometheus-client-mmap!79 (closed)
- Other gems like
commonmarker
- Ruby 3.2's YJIT
This merge request makes a number of changes:
-
Adds gitlab-rust into both the Debian and UBI-8 pipelines.
-
To avoid increasing the size of the
gitlab-ruby
image, we need to makerustc
available when the Ruby interepter is built. For Debian builds, we split the building of the Ruby interpreter into a multi-stage build wherejemalloc
andruby
are installed into aDESTDIR
so that the assets can be collected easily. This actually decreases the size of thegitlab-ruby
image from 379 MB to 353 MB.
Note that this commit does not yet make rustc
available for Ruby
gems during bundle install
. That requires some refactoring with
the Debian-based images because bundle install
is part of the
final image already (gitlab-org/charts/gitlab#3444 (moved)).
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