Run tests in the cloud, pre-commit from a client
We first do automatic parallelization https://gitlab.com/gitlab-org/gitlab-ce/issues/3819
The problem is tests are only run on commit and push.
As a developer I want to test my code before I commit it so that the history is cleaner.
But testing on my local machine takes long and uses a lot of CPU (heat, noise, battery) so I want to have GitLab do this.
As a programmer I'm waiting for my tests to finish for hours per day, leading to a lot of inefficient multitasking and distractions. Obligatory adapted XKCD http://www.codeproject.com/Articles/381622/Unit-test-and-the-man-in-the-middle If we can improve this it would be an amazing thing.
I want a local client (CLI or Editor) that pushes my working copy to GitLab and runs tests on it.
GitLab can receive the code, commit it to a 'hidden' repo, and run the tests. Sending feedback about failing test or successful tests back to the client.
The client could be part of an official command line client, currently we have community ones under CLI clients on https://about.gitlab.com/applications/ Or we can just make a clean API and contribute support to the most popular community command line clients, avoiding a maintenance burden and allowing people to add this functionality to editors.
If we also have an IDE https://gitlab.com/gitlab-org/gitlab-ce/issues/12759 I could see some potential to integrate it closely. But I recommend keeping it simple so that it also works for users not using the IDE.