Update GDK's .tool-version file to be just its dependencies only
Overview
Currently, the GDK has a checked in .tool-versions
file that contains all required third-party software to install. It has worked well, but there are some shortcomings:
- When an upstream project updates its
.tool-versions
file, we need to carefully align a GDK MR with the change to ensure compatibility - It's not possible to mark certain software as 'optional', e.g.
minio
or 'testing' versions of Ruby, PostgreSQL, etc.
Impacted categories
The following categories relate to this issue:
-
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.
Proposal
Currently the GDK's .tool-versions
file is updated by running support/asdf-combine
which takes into account the checked in .tool-versions-gdk
file as well as lots of upstream project's .tool-versions
files.
Let's make the .tool-versions
file only contain GDK's dependencies only and update all other logic to ensure when executing, the working directory is changed into the specific project (e.g. gitlab/
) so asdf can gather its requirements and launch from there.