Use Rugged's TagCollection#create instead of gitlab-shell's Repository#add_tag for better performance
This was originally opened at !1757 by @pcarranza but I changed it to use Rugged instead of gitlab_git, following @DouweM's request.
Once this is merged, https://gitlab.com/gitlab-org/gitlab-shell/merge_requests/26 will be mergeable too.
See merge request !3745
Ci::Commit becomes a Pipeline object
1. Ci::Commit receives context: ref, :tag.
1. One Ci::Commit describes a one Pipeline
1. Pipeline is created from `.gitlab-ci.yml`
1. Pipeline is a ordered group of builds
1. We test MR against Pipeline
1. Pipelines have a separate view (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3703)
1. Pipeline can be triggered from UI (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3703)
1. Later we change `Trigger -> TriggerRequest -> Build` to `Trigger -> Pipeline` (future)
1. We add a Pipeline Hook that will be triggered on Pipeline status change (future)
1. We extend notifications to use `Pipeline Hook` to send summary on pipeline changes (future)
After merging that I'll prepare a separate MR that will unify naming, database columns, table names:
```
Ci::Commit -> Pipeline
Ci::Build -> Build
CommitStatus -> Job
GenericCommitStatus -> ExternalJob
ci_commits -> pipelines
ci_builds -> jobs
```
This MR implements first 5 points.
This is made to solve this issue https://gitlab.com/gitlab-org/gitlab-ce/issues/14149.
See merge request !3653
API: Present an array of Gitlab::Git::Tag instead of array of rugged tags
The annotated message was always `null` because the wrong array was presented.
The entity requires an array of `Gitlab::Git::Tags` instead an array of raw rugged tags was presented. Since a rugged tag does not respond to `message` to get the annotated message, this was always `null`.
See merge request !3764
API: Subscribe and unsubscribe from issues and merge requests
* Closes#6024
This MR is based on !3611, which must be merged first.
See merge request !3615
API: Star and unstar a project
Add two new endpoints `POST /projects/:id/star` and `POST /projects/:id/unstar` to star and unstar a project.
* Closes#12739
See merge request !3578
API: Return 404 if user does not have access to group
Closes#15185
After !3587 is merged, I'll update this one to also fix the return code of the tests in !3587.
See merge request !3683
API: Ability to update a group
This makes it much easier to update a group after introducing the group visibility.
* Closes#14991
See merge request !3587
Delete notes via API
Supports deleting issues, snippets, and merge requests via the API.
* Closes#14944
* Closes#14845
* Closes#6060
@zj I did not see that you assigned yourself in #6060. Hopefully, you did not start yet.
@rymai In #6060 this is targeted for 8.7 release. Could you review that and maybe this still lands in 8.7.
See merge request !3557