gdk doctor: detect ruby version mismatch between mise and PATH

What does this merge request do and why?

This merge request adds a new gdk doctor diagnostic that detects when the Ruby version of PATH does not match the Ruby version of mise.

If there is a version mismatch, it will lead to confusing LoadErrors (for example, terminal-table or snowplow-tracker).

Fixes #3017 (closed).

How to set up and validate locally

  • Ensure Ruby is managed by mise.
  • Prepend system Ruby to PATH: export PATH="/usr/bin:$PATH"
  • Run: gdk doctor and confirm the Ruby mismatch diagnostic is reported.
  • Restore the environment: eval "$(mise activate)" and then run gdk doctor and confirm the warning is no longer shown.

Impacted categories

The following categories relate to this merge request:

Merge request checklist

  • This MR references an issue describing the change.
  • This change is backward compatible. If not, include steps to communicate to users.
  • Tests added for new functionality. If not, raise an issue to follow-up.
  • Observability added/updated (logging, metrics, tracing).
  • Documentation added/updated.
  • Announcement added for notable changes.
  • gdk doctor test added.

Merge request reports

Loading