Use precompiled Ruby to avoid OpenSSL source build

What

Set ruby.compile = false in .mise.toml so mise install fetches precompiled Ruby instead of building it from source.

Why

The standard-build job runs mise install, which builds the pinned Ruby (4.0.5) from source via ruby-build. ruby-build's needs_openssl check can't detect the image's system OpenSSL because the CI images ship only the OpenSSL runtime — no dev headers, no pkg-config — so it falls back to vendoring and compiling openssl-3.0.20 from source. That OpenSSL compile is what fails the job:

-> make -j 2
make[1]: *** [Makefile:14235: crypto/cms/libcrypto-lib-cms_dh.o] Error 139
make: *** [Makefile:3258: build_sw] Error 2
BUILD FAILED (Ubuntu 24.04 on x86_64 using ruby-build 20260701)

Precompiled Ruby bundles its own OpenSSL (3.5.5) and skips ruby-build entirely, so there is no from-source OpenSSL build to fail. It also builds much faster and matches the default mise will adopt in 2026.8.0.

Verification

Reproduced the failure and confirmed the fix in the exact CI image (duo-workflow-sandbox, digest 99288ea0…) using the project's own .tool-versions + .mise.toml:

  • Before: mise installBUILD FAILED compiling openssl-3.0.20.
  • After (ruby.compile = false): OK ruby 4.0.5 / OpenSSL 3.5.5, installed in seconds.

References

Failing job: https://gitlab.com/gitlab-org/ruby/gems/labkit-ruby/-/jobs/15263644126

Merge request reports

Loading
Loading