Dismantling Grack::Auth part 1: Git HTTP clients
Part of https://gitlab.com/gitlab-org/gitlab-ce/issues/14501
This does not completely get rid of Grack::Auth yet because Git LFS
support is 'behind' it and I would like to not make this MR bigger
than needed.
- changed tests to make HTTP requests instead of calling Rack apps
- added missing test cases for Git HTTP authentication
- moved Git HTTP requests into a 'normal' Rails controller
See merge request !3361
Fix endless redirections when accessing user OAuth applications when they are disabled
## What does this MR do?
This MR fixes a bug where the browser would be redirect endlessly when attempting to access the user's OAuth applications when an admin has disabled this system-wide setting.
## Are there points in the code the reviewer needs to double check?
I assume disabling the nav button is better than showing a page that says, "OAuth applications are disabled by the admin."
## Why was this MR needed?
Lots of users were confused when they hit endless redirect errors.
## What are the relevant issue numbers?
#14770
See merge request !4525
Add a test for User#ci_authorized_runners
## What does this MR do?
Add a test for User#ci_authorized_runners
## Are there points in the code the reviewer needs to double check?
Should we add `Project#add_user` so that it's similar to `Group#add_user`?
## Why was this MR needed?
I am going to make some changes to this method for !4093, but I couldn't find a corresponding test so I want to add it in case I would break anything.
## What are the relevant issue numbers?
This is a test for current behaviour, before implementing #3407
See merge request !4404
Implement compact side nav
## What does this MR do?
Implements new compact nav design
Note- new navbar icons are in a separate MR (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4268)
## What are the relevant issue numbers?
Closes#18013
## Screenshots (if relevant)


cc @dzaporozhets
See merge request !4447
Add new GitLab CI configuration facade class
## What does this MR do?
This MR is a first iteration of major CI configuration refactoring. See #17139 and #15060 for more details.
## What are the relevant issue numbers?
Closes#17139
See merge request !4462
Use Knapsack to evenly distribute specs
Try to distribute all tests evenly accross all nodes to reduce the testing time of GitLab CE.
This uses high amount of auto-scaled machines.
See merge request !4240
Rename Ci::Commit in specs
This is second iteration of renaming Ci::Commit occurences, this time I try to rename all `let's` and `factories` to match what type of object is created:
1. Rename factories: `ci_[...]_commit_[...]` to `ci_[...]_pipeline_[...]`,
2. Rename all `let's(:[ci_]commit)` to `let(:pipeline)`,
3. Rename all occurrences of `[ci_]commit` to `pipeline` if Pipeline object is created
cc @grzesiek @DouweM
See merge request !4463
Notes are awardables
## What does this MR do?
Makes sure we can :thunder_cloud_rain: comments/notes.
## What are the relevant issue numbers?
Follows up upon !2901, depends on !3785Closes#3655
## Screenshots (if relevant)
TODO
See merge request !4291