Docs feedback: Development environment requires paid for version of parallels
Overview
https://docs.gitlab.com/runner/development/
Following the above guide, I am unable to contribute to gitlab-runner without a paid for version of parallels. Can parallels be made optional or how can I get around this?:
~/Go/src/gitlab.com/gitlab-org/gitlab-runner (master) $ make development_setup
test -d tmp/gitlab-test || git clone https://gitlab.com/gitlab-org/ci-cd/tests/gitlab-test.git tmp/gitlab-test
if prlctl --version ; then /Applications/Xcode.app/Contents/Developer/usr/bin/make -C tests/ubuntu parallels ; fi
prlctl version 15.1.1 (47117)
vagrant up --provider=parallels --provision parallels
The provider 'parallels' that was requested to back the machine
'parallels' is reporting that it isn't usable on this system. The
reason is shown below:
Vagrant has detected that you have an edition of Parallels Desktop for Mac
installed that is not supported. Vagrant Parallels provider is compatible
only with Pro and Business editions of Parallels Desktop. Other editions
do not have command line functionality and can not be used with Vagrant.
Please upgrade your installation: http://parallels.com/desktop
make[1]: *** [parallels] Error 1
make: *** [development_setup] Error 2
Proposal
As suggested in gitlab-runner!1692 (comment 253316707):
They are used by unittests in VirtualBox/Parallels executors. Usage of an old version of Ubuntu is also not a big problem here, because we really care about the shell and SSH being available, so that the tests are able to connect and execute a test job.
What we can do is decoupling this setup from development_setup
make target. Make it separate for Parallels and separate for VirtualBox and document that if one wants to execute tests for any of these two executors, then the proper make setup target must be executed.
We can also update the used Ubuntu version to 18.08 (current LTS). I don't think it's really required, but if we're touching this files then why not?
As for #37392 (closed), I don't really have a good solution. Something probably changed in Parallels licensing and/or installation and the vagrant plugin is no longer supporting it (or as you've wrote - the user was using too old version of Parallels; maybe it's a default message that suggests to upgrade and mentions only a paid version?).
Anyway, the problem of #37392 (closed) is not the existence of our VirtualBox/Parallels testing integration but the fact that it' fired always when VirtualBox/Parallels are installed locally and someone executes the development_setup
. Separating this I think builds a compromise. Test box for VirtualBox is needed only if you plan to work on this executor, and I remember only one or two MRs related to it in last years. The same goes for Parallels.
Let's split the make targets, and we will investigate deeper what's up with Parallels, when we will really need to work on this executor and set this Vagrant box up again.