Draft: Use gdk Bash shim by default (retry)
What does this merge request do and why?
Up until now, the 'gdk' command line tool was written in Ruby and has been installed by https://rubygems.org/gems/gitlab-development-kit. Having a Ruby gem provide the 'gdk' command line tool presents challenges when multiple versions of Ruby are in use.
In this MR, we set the gdk.use_bash_shim
to true
which will create a Bash based shim in /usr/local/bin/gdk
that will be used instead of the gdk
command line tool installed via the Ruby gem. This will mean that the gdk
command line tool will survive Ruby upgrades from now on.
Closes: #1656 (closed)
How to set up and validate locally
-
Checkout the
ashmckenzie/use-gdk-shim-by-default
branch -
Run:
cd <GDK_ROOT> sudo rm -f /usr/local/bin/gdk # sudo is required, unfortunately rm -f .cache/.gdk_bootstrapped ; make update reconfigure # we need to run update reconfigure until https://gitlab.com/gitlab-org/gitlab-development-kit/-/issues/1639 is resolved
-
Verify the following message and password prompt appears because
sudo
is required in order to write to/usr/local/bin
:INFO: Sudo needed to be able to create/update '/usr/local/bin/gdk' Password:
-
Verify the 'gdk Bash shim is now enabled by default' message is rendered.
-
Verify that
/usr/local/bin/gdk
now exists. -
Run
/usr/local/bin/gdk status
to ensure it returns expected output.
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 change is backward compatible. If not, please include steps to communicate to our users. -
Tests added for new functionality. If not, please raise an issue to follow-up. -
Documentation added/updated, if needed. -
Announcement added, if change is notable. -
gdk doctor
test added, if needed. -
Add the ~highlight
label if this MR should be included in theCHANGELOG.md
.