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 doctorand confirm the Ruby mismatch diagnostic is reported. - Restore the environment:
eval "$(mise activate)"and then rungdk doctorand confirm the warning is no longer shown.
Impacted categories
The following categories relate to this merge request:
- gdk-reliability - e.g. When a GDK action fails to complete.
- gdk-usability - e.g. Improvements or suggestions around how the GDK functions.
- gdk-performance - e.g. When a GDK action is slow or times out.
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 doctortest added.