Add `gdk checkout <branchname>` for reviewing specific branches
Problem to solve
Many personas are using the GDK not specifically for "development" work, but instead to review feature development that has been done for the purposes of acceptance testing, design review, user testing, or other similar needs.
For this persona, the current state of the GDK makes it more difficult for them to use it. Many users who are running gdk update
on a regular basis have fewer problems with their installation, as that installation stays (relatively) up to date with the most recent version of our codebase, and so the deltas between updates are small.
For those reviewing feature branches, there may be weeks or months between updates, which means large upgrade deltas, causing fragility in the process. Additionally, the long duration between usage means less experience (or at least, recent familiarity with) troubleshooting, and means longer troubleshooting and resolution times. Many designers have reported multi-day journeys to get their GDK install running again, and ultimately many are simply switching to looking over the virtual-shoulder of an FE to review their designs.
Proposal
To solve this problem, we to add gdk checkout <branchname>
that:
- Switches our
gitlab
repository to the correct branch - Update all appropriate services and run any db migrations needed
Additionally, if errors are thrown and the switch/update is unable to complete, we could offer an additional gdk checkout <branchname> --pristine
flag that runs the same commands, but uses gdk pristine
instead of the less-severe gdk update
command.
There was some work done on this already, but never got to a merged state: !817 (closed)
Original issue content
GDK was originally developed to help experienced Ruby on Rails developers get set up quickly so they can get work done in the GitLab source code. It is now 2 years later (994ec536 dates from 2014-08-06) and practice shows we also want other people to be productive in GDK:
- front-end specialists
- first time contributors trying to fix a small bug
- ...
I think we can do a better job getting people started, but I am not quite sure how. I am also not sure if enough people know how to ask for help with GDK, if we are responding to them in the right way, etc.
I am less concerned about experienced Ruby/Rails developers because they can solve more GDK problems on their own, but they should also be encouraged to raise issues / help improve things.