Commit Graph
3521 Commits
Author SHA1 Message Date
James Lopez 341c1181d9 refactor project to include some nicer EE stuff 2016-05-20 14:55:27 +02:00
Robert Speicher f26389a02a Merge branch 'feature/runner-config-untagged-jobs' into 'master'
Add config for CI Runner that prevents it from picking untagged jobs

Closes #3456

See merge request !4039
2016-05-19 21:54:33 +00:00
Douwe Maan 3f6f2bbe14 Merge branch 'create-todo-on-failing-build' into 'master'
Create a todo on failing MR build

Implements #14067. I worked on this with @DouweM (any mistakes are mine).

When a build fails for a commit, create a todo for the author of the merge request that commit is the HEAD of. If the commit isn't the HEAD commit of any MR, don't do anything. If there already is a todo for that user and MR, don't do anything.

Current limitations:
- This isn't configurable by project.
- The author of a merge request might not be the person who pushed the breaking commit.
- I haven't tested this with a working CI setup, just with the unit tests below and by modifying my DB directly.


See merge request !3177
2016-05-19 21:18:22 +00:00
Douwe Maan bd0cecfdf6 Merge branch 'with-pipeline-view' into 'master'
Add pipeline view

This is continuation of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3653

cc @DouweM @grzesiek 

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/17551
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/15625


See merge request !3703
2016-05-19 20:42:43 +00:00
Grzegorz Bizon c3c503d259 Rename method that validates runner tag constrains 2016-05-19 22:01:53 +02:00
Grzegorz Bizon f6dd8a5257 Move runner validator to separate private method 2016-05-19 22:01:53 +02:00
Grzegorz Bizon 8001eed06e Add method that check if build has tags 2016-05-19 22:01:53 +02:00
Grzegorz Bizon 9fd6f1b600 Improve displaying validation messages for runner 2016-05-19 22:01:53 +02:00
Grzegorz Bizon dd8e9e2d7a Add custom validator to runner model 2016-05-19 22:01:53 +02:00
Grzegorz Bizon 83df638455 Disallow runner to pick untagged build if configured 2016-05-19 22:01:53 +02:00
Grzegorz Bizon 2aa5707194 Extend runner config options for untagged jobs 2016-05-19 22:01:53 +02:00
Rémy Coutable e4a1af8353 Merge branch '12724-wrong-sorting-of-commit-order-in-mr-view' into 'master'
Resolve "Wrong sorting of commit order in MR view?"

!4052 fixed this for the most obvious cases, but there were still some problems.

Here's my test case: I have a branch where I was suffering from an unfortunate
issue. Every other commit I made had its commit date set to one day before it
should have been. (Perhaps my system clock was misbehaving.)

```shell
for i in {1..10}
do
  echo $i > $i
  git add $i
  GIT_COMMITTER_DATE=`date -v -$((i % 2))d` git commit -m $i
done
```

The git CLI still gives me the commits in the right order, but I can see that
the timestamps alternate between two values:

```shell
$ git log --format='%h %ct %p %s' master...HEAD
f0c3108 1463646313 3d38a13 10
3d38a13 1463559913 67f419b 9
67f419b 1463646313 74330c0 8
74330c0 1463559913 56361d7 7
56361d7 1463646313 ba1b60c 6
ba1b60c 1463559913 f91497d 5
f91497d 1463646313 79c5e57 4
79c5e57 1463559913 b953cef 3
b953cef 1463646313 12fc411 2
12fc411 1463559913 835715b 1
```

Unfortunately, GitLab didn't like this _at all_. Here's what the commits on my
MR from that branch looked like:
![image](/uploads/fdc38e932eeedcb77de9ec4b50ad1476/image.png)

That's because we were sorting the commits by date, which is safe if they are in
that order anyway. If they aren't, then because Ruby's sorting isn't stable, we
lose even the ordering among the correctly-ordered commits with the same
timestamp.

After these changes (and reloading the MR's diff), this looks like:
![image](/uploads/b09fb0f51359c1c89484e713e859512b/image.png)

The commits view was also wrong, but in a slightly different way. In table form:

| View | Before | After |
| --- | --- | --- |
| Commit list | 10, 8, 6, 4, 2, 9, 7, 5, 3, 1 | 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 |
| MR commits | 10, 2, 8, 4, 6, 5, 7, 3, 9, 1 | 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 |

Closes #12724

See merge request !4208
2016-05-19 19:04:29 +00:00
Stan Hu d46e47a5b6 Revert "Merge branch 'issues/15127' into 'master'"
This reverts merge request !3647
2016-05-19 14:09:24 +00:00
Stan Hu 3656b5db07 Merge branch 'issues/15127' into 'master'
fix #15127 ActiveJob::DeserializationError thrown

`send_devise_notification` pre-maturely enqueued the task when the user instance
has not yet been committed into the database, causing a record-not-found in the
other sidekiq process.

`devise-async` has already been taking care of asynchronous mail sending, we just
need to run it inside queue `mailers` instead of `mailer` to enable it.

The implementation of `devise-async` enqueues the task in `after_commit` hook
which is the right way to do it.

See merge request !3647
2016-05-19 06:12:34 +00:00
Robert Speicher 4607323e13 Merge branch 'issue_17560' into 'master'
Mask credentials from URL when the import of project has failed.

REF: #17560 

See merge request !4185
2016-05-19 03:00:01 +00:00
Rubén Dávila 0c47b68d04 Mask credentials from URL when import of project has failed. 2016-05-18 21:16:36 -05:00
Rémy Coutable 958ff11f97 Remove unused Project scopes
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-18 17:13:54 -05:00
Rémy Coutable b340ca356a Remove User#tm_in_authorized_projects and User#tm_of
These methods seems to be unused.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-05-18 13:43:33 -05:00
Kamil Trzciński 08fddae744 Merge branch 'docker-registry-view' into 'master'
Add container registry support

Tasks:

- [x] Merge docker/distribution authentication service: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3787
- [x] Implement Docker Registry API
- [x] Show a list of docker images in GitLab
- [x] Remove registry repository on project deletion
- [x] Support project rename, move and namespace rename
- [x] Use token when connecting the registry
- [x] Allow to delete images from GitLab
- [x] Support pushing from GitLab CI (gitlab-ci-token / $CI_BUILD_TOKEN)
- [x] Support GitLab Runner pulling for public repositories
- [ ] Support GitLab Runner pulling for private repositories
- [x] Add tests for Docker Registry API
- [x] Add tests for a views
- [x] Make texts nicer
- [x] Implement a backup support

- [ ] Create administration documentation https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4141
- [ ] Create user documentation

See merge request !4040
2016-05-18 18:19:01 +00:00
Kamil Trzcinski 2f1cb7ce04 Improve code design 2016-05-18 11:22:28 -05:00
Sean McGivern 27fdd3fe50 Maintain commit order in MRs
`Gitlab::Git::Compare` will already have the correct order; sorting in
Ruby can only ruin that. (The correct order being the same as `git log`
- reverse chronological while maintaining the commit graph.)

As an example, imagine a branch where someone has their system clock set
wrong for some of the commits. Not only will those commits be in the
wrong order - which is maybe reasonable - but sorting in Ruby can also
put commits with the same timestamp out of order, as Ruby's sorting
isn't stable.
2016-05-18 17:14:55 +01:00
Jeroen van Baarsen 80817644a7 Improve issue formatting in Slack service
Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
2016-05-18 11:09:51 -05:00
Rémy Coutable f4d2a2d97b Merge branch 'fix/import-data-issue' into 'master'
Create import data in service and fix timing issues when scheduling job

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/17401

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/17376

See merge request !4106
2016-05-18 15:28:11 +00:00
Kamil Trzcinski 24145592e8 Provide full test coverage to lib/container_registry API implementation 2016-05-17 13:20:11 -05:00
Sean McGivernandSean McGivern 6b834f2cbc Create a todo on failing MR build
When a build fails for a commit, create a todo for the author of the
merge request that commit is the HEAD of. If the commit isn't the HEAD
commit of any MR, don't do anything. If there already is a todo for that
user and MR, don't do anything.

Current limitations:
- This isn't configurable by project.
- The author of a merge request might not be the person who pushed the
  breaking commit.
2016-05-17 10:17:45 +01:00
Kamil Trzcinski d0eb9438e9 Merge remote-tracking branch 'origin/master' into with-pipeline-view 2016-05-16 17:13:14 -05:00
Kamil Trzcinski bf4dc75801 Improve the pipelines design 2016-05-16 16:48:27 -05:00
Kamil Trzcinski eb42f95c18 Merge remote-tracking branch 'origin/master' into docker-registry-view 2016-05-16 16:15:40 -05:00
Douwe Maan 8b15628dd0 Merge branch 'issue_14684' into 'master'
Toggle email signup confirmation in admin settings

Implements toggling verification email #14684

See merge request !3862
2016-05-16 21:05:05 +00:00
Douwe Maan c9649198a1 Merge branch 'rs-event-titles' into 'master'
Add an Event's target's title to its reference link

Given an activity feed entry like:

> Douwe Maan commented on [issue #123] at [gitlab-org/gitlab-ce]

...the `issue #123` link will now have a `title` attribute.

Plus some minor refactorings, see individual commits for details.

See merge request !4090
2016-05-16 20:58:52 +00:00
Rémy Coutable 4f66799738 Merge branch 'wiki-fix-reloaded' into 'master'
Use the relative url prefix for links in Wiki

Retry of gitlab-org/gitlab-ce!4026

@rymai !4050 solved all other problems how it looks like. I [tested](https://gitlab.com/artem-forks/gitlab-ce/commit/ff01eca7b559efa7cacf3412aa01cd8ae8a6db7e/builds) this with ruby22

Fixes #17071 



See merge request !4131
2016-05-16 20:30:42 +00:00
Felipe Artur ecce94d3aa fix default send confirmation value 2016-05-16 16:53:11 -03:00
Robert Speicher 020e616822 Reduce duplication and branching logic in EventsHelper
Remove unused methods from Event model
2016-05-16 14:52:04 -05:00
Robert Speicher 0ec2ee71b3 Rename Event#note_project_snippet? to project_snippet_note? 2016-05-16 14:52:04 -05:00
Robert Speicher b2fc0a51a6 Rename Event#note_commit? to commit_note? 2016-05-16 14:52:03 -05:00
Robert Speicher c05ed99bff Simplify Event's target type-checking 2016-05-16 14:52:03 -05:00
Robert Speicher 6286b28bbc Add an Event's target's title to its reference link
Given an activity feed entry like:

> Douwe Maan commented on [issue #123] at [gitlab-org/gitlab-ce]

...the `issue #123` link will now have a `title` attribute.
2016-05-16 14:52:02 -05:00
Douwe Maan a511a12265 Merge branch '17227-upcoming-milestone-is-confusing-when-projects-have-different-milestones' into 'master'
Make upcoming milestone work across projects

Before: we took the next milestone due across all projects in the
search and found issues whose milestone title matched that
one. Problems:

1. The milestone could be closed.
2. Different projects have milestones with different schedules.
3. Different projects have milestones with different titles.
4. Different projects can have milestones with different schedules, but
   the _same_ title. That means we could show issues from a past
   milestone, or one that's far in the future.

After: gather the ID of the next milestone on each project we're looking
at, and find issues with those milestone IDs. Problems:

1. For a lot of projects, this can return a lot of IDs.
2. The SQL query has to be different between Postgres and MySQL, because
   MySQL is much more lenient with HAVING: as well as the columns
   appearing in GROUP BY or in aggregate clauses, MySQL allows them to
   appear in the SELECT list (un-aggregated).

Closes #17227.

See merge request !4125
2016-05-16 19:28:17 +00:00
Felipe Artur 0baadd6cff Fix changelog file 2016-05-16 14:56:32 -03:00
Felipe Artur c5526a2d9a Change skip_user_confirmation_email to send_user_confirmation_email 2016-05-16 14:56:32 -03:00
Felipe Artur 71ca2de7aa Toggle email signup confirmation in admin settings 2016-05-16 14:56:32 -03:00
Douwe Maan 59e62fc486 Merge branch 'docker-registry' into 'master'
Added authentication service for docker registry

This adds a simple authentication service for docker which uses current user credentials to authenticate pulls and pushes.

I have only one concern. Since the `.docker/config` is unencrypted, thus the password for user stored there is unencrypted, maybe we should from the start implement function to generate/provide a separate password just for the purposes of accessing docker registry?

What do you think @jacobvosmaer @sytses @marin?

cc @marin 

See merge request !3787
2016-05-16 17:20:31 +00:00
Douwe Maan 5dd013f145 Merge branch 'gh-pull-requests' 2016-05-16 12:12:20 -05:00
Kamil Trzcinski 623102d455 Use registry.port to construct the registry host 2016-05-16 09:48:39 -05:00
Sean McGivern e8058bd231 Return a relation with Postgres
Postgres only needs to select a single column, so that can used as a
sub-query where `Milestone.upcoming_ids_by_projects` is actually used in
`IssuableFinder`.

MySQL needs to select the `due_date` column because it's used in the
`HAVING` clause, so it has to return an array of IDs.
2016-05-16 10:25:24 +01:00
Sean McGivern 750b2ff0ee Make upcoming milestone work across projects
Before: we took the next milestone due across all projects in the
search and found issues whose milestone title matched that
one. Problems:

1. The milestone could be closed.
2. Different projects have milestones with different schedules.
3. Different projects have milestones with different titles.
4. Different projects can have milestones with different schedules, but
   the _same_ title. That means we could show issues from a past
   milestone, or one that's far in the future.

After: gather the ID of the next milestone on each project we're looking
at, and find issues with those milestone IDs. Problems:

1. For a lot of projects, this can return a lot of IDs.
2. The SQL query has to be different between Postgres and MySQL, because
   MySQL is much more lenient with HAVING: as well as the columns
   appearing in GROUP BY or in aggregate clauses, MySQL allows them to
   appear in the SELECT list (un-aggregated).
2016-05-16 10:25:24 +01:00
Kamil Trzcinski f63b6fc297 Merge branch 'docker-registry' into docker-registry-view 2016-05-14 18:23:55 -05:00
Kamil Trzcinski f4f9184a01 Rename JWT to JSONWebToken 2016-05-14 18:23:31 -05:00
Kamil Trzcinski 865e885336 Fix specs for MySQL 2016-05-14 14:47:47 -05:00
Kamil Trzcinski 8c93b6051f Revert stages change 2016-05-14 14:45:11 -05:00