2327 Commits
Author SHA1 Message Date
Grzegorz BizonandRobert Speicher 23975e093b Merge branch 'fix/award-emoji-conflict-in-notes' into 'master'
Fix problems with award-emoji-only comment

This fixes a conflict between note with only a single emoji in content
and award-emojis mechanisms.

Closes #3734 

cc @vsizov

See merge request !1936
2015-12-07 14:33:36 -05:00
Valery SizovandRobert Speicher e70ac793a2 Merge branch 'webhook_payload_with_changes' into 'master'
Add added, modified and removed properties to commit object in webhook

https://gitlab.com/gitlab-org/gitlab-ee/issues/20

See merge request !1988
2015-12-07 14:31:49 -05:00
Douwe MaanandRobert Speicher 46d24898ed Merge branch 'fix-global-milestones-error-500' into 'master'
Fix Error 500 when creating global milestones with Unicode characters

Two issues:

1. The constraints in the resources were incorrect. Here's what it was before:

```
group_milestone  GET /groups/:group_id/milestones/:id(.:format)  groups/milestones#show {:id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/, :group_id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/}
```

In this case, id is actually the title of the milestone, which can be anything at the moment.

After:
```
group_milestone  GET /groups/:group_id/milestones/:id(.:format)  groups/milestones#show {:id=>/[^\/]+/, :group_id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/}
```

2. `parameterize` would strip all Unicode characters, leaving a blank string. Rails would report something like:

```
ActionView::Template::Error (No route matches {:action=>"show", :controller=>"groups/milestones", :group_id=>#<Group id: 48, name: "ops-dev", path: "ops-dev", owner_id: nil, created_at: "2015-11-15 08:55:30", updated_at: "2015-12-02 06:23:26", type: "Group", description: "", avatar: "sha1.c71e73d51af1865c1bbbf6208e10044d46c9bb93.png", public: false>, :id=>"", :title=>"肯定不是中文的问题"} missing required keys: [:id]):
```

This change uses the babosa library to create a better slug, which surprisingly
isn't actually used by the global milestone controllers. Instead, they use the
title passed as a query string for some reason.

Closes https://github.com/gitlabhq/gitlabhq/issues/9881

See merge request !1983
2015-12-07 14:28:31 -05:00
Dmitriy ZaporozhetsandRobert Speicher cd4a33120a Merge branch 'fix-application-settings-not-expiring' into 'master'
Fix application settings cache not expiring after changes

cache_key is an instance method that relies on updated_at. When changes
were made, the time-dependent key was being used instead of X.application_setting.last.

Closes #3609

See merge request !1972
2015-12-04 14:36:30 -05:00
Valery SizovandRobert Speicher 49db8b7970 Merge branch 'upload_hook' into 'master'
Fire update hook from GitLab

https://gitlab.com/gitlab-org/gitlab-ce/issues/3069

See merge request !1882
2015-11-30 14:05:35 -05:00
Dmitriy ZaporozhetsandRobert Speicher 3b9a910938 Merge branch 'expire-application-settings-startup' of https://gitlab.com/stanhu/gitlab-ce 2015-11-30 11:54:44 -05:00
Robert SpeicherandRobert Speicher 69383ac266 Merge branch 'ci-artifacts-path' into 'master'
Expose artifacts path

This fixes broken artifacts storage path.

Fixes #3607 
Fixes #3608

Related: gitlab-org/omnibus-gitlab!544

See merge request !1869
2015-11-23 17:19:54 -05:00
Robert SpeicherandRobert Speicher 3017037fc7 Merge branch 'ci-fix-500' into 'master'
Fix 500 when using CI

- Fix for Ci::Build state machine, allowing to process builds without the project
- Forcefully update builds that didn't want to update with state machine
- Fix saving GitLabCiService as Admin Template

Fixes #3556 

See merge request !1873
2015-11-23 16:53:19 -05:00
Dmitriy ZaporozhetsandRobert Speicher aeaa5b5037 Merge branch 'fix-merge-requests-without-source-projects' into 'master'
Handle removed source projects in MR CI commits

Fixes #3599 

@dzaporozhets assigning this to you since you wrote the original code. Perhaps checking for the source project isn't the right way, but I'm not sure if there's a better way (e.g. somewhere earlier in the process) that we can detect this.

See merge request !1859
2015-11-21 22:53:08 -05:00
Robert SpeicherandRobert Speicher 94b33caf84 Merge branch 'fix-award-emoji-api' into 'master'
Add upvote/downvote fields to merge request and note API to preserve compatibility

As discussed in !1825 we should not break the API compatibility.

* This MR adds the fields `upvotes`/`downvotes` to the merge request API again, which always return `0`.
* Add the fields `upvote`/`downvote` to the notes API, which always return `false`

This behavior is documented in the API docs.

See merge request !1867
2015-11-21 22:46:18 -05:00
Stan HuandRobert Speicher 0df5340036 Merge branch 'fix-drone-service-hook' into 'master'
Fix Drone web hook URL not being updated

Fixes regression of !1774: fixes Drone Web hook for both service templates and project services.



See merge request !1856
2015-11-21 11:11:44 -05:00
Yorick Peterse 1cdee35f60 Merge branch 'atom-feed-latest-update' into 'master'
Improve performance of user profiles, finding groups, and finding projects

This MR improves the following:

* Rendering of profile pages and Atom feeds
* Finding groups (using GroupsFinder & friends)
* Finding projects (using ProjectsFinder & friends)

Initially this MR was intended to only improve rendering of Atom feeds, but over time other fixes were introduced as well as the same code was the cause of all these problems.

See merge request !1790
2015-11-20 11:02:27 +01:00
Dmitriy ZaporozhetsandRobert Speicher 48e86ec610 Merge branch 'emoji_votes' into 'master'
Award Emoji

This it first iteration of award emoji feature.
We have plan to extend emoji picker by the next release.

For now, you can add award by clicking to the emoji picker or posting a regular comment with emoji like "👍" and any other. You can post not only emoji that listed in the emoji picker.

See merge request !1825
2015-11-19 19:50:58 -05:00
Kamil TrzcińskiandRobert Speicher 978f0bac8a Merge branch 'ci-yaml-validation' into 'master'
Commits without .gitlab-ci.yml are marked as skipped

- Commits without .gitlab-ci.yml are marked as skipped
- Save detailed error when YAML syntax

This also fixes: #3521 #3546 

/cc @jacobvosmaer 


See merge request !1827
2015-11-19 18:27:46 -05:00
Robert SpeicherandRobert Speicher 64e3cba941 Merge branch 'dbalexandre/gitlab-ce-fix-personal-snippet-access-workflow' into 'master'
Improve personal snippet access workflow.

Replaces !1709

Fixes #3258

See merge request !1817
2015-11-19 12:22:45 -05:00
Douwe MaanandRobert Speicher 371e8505f8 Merge branch 'ce-mirror-backport' into 'master'
Backport relevant changes from gitlab-org/gitlab-ee!51

To do:

- [x] Update gitlab-shell

See merge request !1822
2015-11-18 16:41:56 -05:00
Robert SpeicherandRobert Speicher 8a1cafeb9d Merge branch 'james11/gitlab-ce-removable-group-owner' into 'master'
Prevent the last owner of a group from being able to delete themselves
by 'adding' themselves as a master

Replaces !1708.

Fixes #1111.

See merge request !1815
2015-11-17 13:24:15 -05:00
Douwe Maan c12d0b4d2a Merge branch 'rs-wiki-touches-project' into 'master'
Make ProjectWiki touch Project#last_activity_at after wiki actions

Closes #3026

See merge request !1803
2015-11-17 08:48:29 +00:00
Dmitriy Zaporozhets 0061143ccd Merge branch 'global-milestones' into 'master'
Create milestones in the group

When you work with groups its quite often you want to create same milestone in multiple projects. This MR allows you to do so

For #3488 

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

See merge request !1797
2015-11-16 20:41:27 +00:00
Dmitriy Zaporozhets b093f50986 Some code and doc improvements
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 19:55:58 +01:00
Robert Speicher ccb0c40c54 Make ProjectWiki touch Project#last_activity_at after wiki actions
Closes #3026
2015-11-16 13:08:25 -05:00
Dmitriy Zaporozhets 929ab909c8 Group masters should be able to create/close milestones
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 16:14:19 +01:00
Dmitriy Zaporozhets 9a3df9d5d0 Merge branch 'ci-runners-master-or-owner' into 'master'
Show specific runners from projects where user is master or owner

This fix for permission escalation when handling specific runners.

The users were allowed to assign runners from projects where they were guests.


See merge request !1809
2015-11-16 15:00:55 +00:00
Dmitriy Zaporozhets 986695e136 Refactor global and group milestones logic
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 14:07:38 +01:00
Dmitriy Zaporozhets 1328e4b504 Merge branch 'refactor-duplication' into 'master'
Remove some code duplication

* remove duplicate code in uploaders
* remove duplicate code in NotificationHelper
* remove duplicate code in Repository


Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

See merge request !1800
2015-11-16 13:05:49 +00:00
Kamil Trzcinski 03f5ff750b Show specific runners from projects where user is master or owner 2015-11-16 13:24:56 +01:00
Dmitriy Zaporozhets 0698c96d7d Remove duplicate code in Repository#*_names_contains
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-16 13:01:34 +01:00
Marin Jankovski 14032d8eb1 Add support for git lfs. 2015-11-16 12:39:13 +01:00
Dmitriy Zaporozhets da8ca8b217 Merge branch 'annotate-models' into 'master'
Annotate models

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>

See merge request !1799
2015-11-14 08:27:12 +00:00
Dmitriy Zaporozhets a237999f00 Annotate models
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-13 19:22:46 +01:00
Kamil Trzcinski e53a56acea Fix broken tests 2015-11-13 10:52:50 +01:00
Kamil Trzcinski 6384c757b7 Expose CI enable option in project features
- Enable CI by default for all new projects
2015-11-13 10:52:50 +01:00
Dmitriy Zaporozhets 37465f44b4 Merge pull request #9825 from huacnlee/cache-application-setting
Add caching for ApplicationSetting, Ci::ApplicationSetting.
2015-11-13 10:15:52 +01:00
Minsik Yoonand윤민식 3d0efa8e0a Add ignore white space option in merge request diff
fix this issue(https://gitlab.com/gitlab-org/gitlab-ce/issues/1393).

Add ignore whitespace optoin to Commits Compare view
2015-11-13 16:53:53 +09:00
Jason Lee 2e4a673cbc Add caching for ApplicationSetting, Ci::ApplicationSetting.
ApplicationSetting.current was called in every pages, cache it and expires it after it updated.

This changes will avoid a SQL query in every pages (~0.3 - 0.5ms).

```SQL
SELECT  "application_settings".* FROM "application_settings"   ORDER BY "application_settings"."id" DESC LIMIT 1
```
2015-11-12 17:19:03 +08:00
Yorick Peterse 7eb502c036 Change "recent" scopes to sort by "id"
These scopes can just sort by the "id" column in descending order to
achieve the same result. An added benefit is being able to perform a
backwards index scan (depending on the rest of the final query) instead
of having to actually sort data.
2015-11-11 15:17:12 +01:00
Kamil Trzciński fb5c3c7021 Merge branch 'artifacts' into 'master'
Implement Build Artifacts

This implements #3028 

1. It stores artifacts in shared/artifacts,
1. It adds `artifacts` to `.gitlab-ci.yml`,
1. We use GitLab Workhorse to offload artifacts uploading,
1. To download artifacts it uses GitLab Workhorse X-Sendfile extension,
1. There's one "artifact" per-build. The new upload removes previous one and creates a new one,
1. Default max artifact size is set to 100MB - this can be changed in settings.

Missing things:
1. Support for `.gitlab-ci.yml`: `artifacts: true or git-ls-files` which will upload all non tracked files,
1. Artifacts passing between builds.

GitLab Workhorse changes: https://gitlab.com/gitlab-org/gitlab-workhorse/merge_requests/5
GitLab Runner changes: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/46

Syntax:
```
artifacts:
  untracked: true # default: false
  paths: # default: empty
  - bin/files
```


See merge request !1584
2015-11-11 12:44:37 +00:00
Stan Hu 5aa142212f Fix Drone CI service template not saving properly
Closes #3419
2015-11-10 10:52:45 -08:00
Kamil Trzcinski d0e3e823a2 Implement Build Artifacts
- Offloads uploading to GitLab Workhorse
- Use /authorize request for fast uploading
- Added backup recipes for artifacts
- Support download acceleration using X-Sendfile
2015-11-10 12:51:50 +01:00
Dmitriy Zaporozhets 354b69dde2 Merge remote-tracking branch 'origin/release-notes'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-10 10:20:22 +01:00
Dmitriy Zaporozhets b67fdfff3c Refactor release code a bit
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-09 15:30:50 +01:00
Dmitriy Zaporozhets cb8b9c3fe2 Add association and validation for Release model
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-06 15:29:04 +01:00
Kamil Trzcinski b18671a1b2 Enable shared runners for all new projects 2015-11-05 17:02:02 +01:00
Kamil Trzcinski ba68facf8d CI details cleanup
- Add page titles to CI settings.
- Fix CI admin navigation.
- Remove duplicated scope.
- Use monospace font for commit sha.
- Add page title and header title to build page.
- Proper authorization for cancel/retry builds.
- Use gitlab pagination theme for builds and group members.
- Don't paginate builds widget on build page.
- Add badges to commit page Changes/Builds tabs.
- Add "Builds" to commit Builds tab page title.
- Add and use Ci::Build#retryable? method.
- Add CI::Build#retried? method.
- Allow all failed commit builds to be retried.
- Proper authorization for cancel/retry all builds.
- Remove unused param.
- Use time_ago_with_tooltip where appropriate.
- Tweak builds index text
- Remove duplication between builds/build and commit_statuses/commit_status.
- Use POST rather than GET for canceling and retrying builds.
- Remove redundant URL helpers.
- Add build ID to build page.
- Link branch name on build page.
- Move commit/:sha/ci to commit/:sha/builds.
2015-11-05 15:24:27 +01:00
Valery Sizov 6051c28fc0 Allow groups to appear in the search results if the group owner allows it 2015-11-05 13:18:51 +02:00
Dmitriy Zaporozhets ba67af79a9 More release related logic to separate resource
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-05 11:16:41 +01:00
Dmitriy Zaporozhets 1c4d1c3bd6 Add release model
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-11-05 11:03:02 +01:00
Douwe Maan 3f05c22f56 Merge branch 'rs-git-bin-path' into 'master'
Replace all usages of `git` command with configurable binary path

Closes #3311

See merge request !1742
2015-11-04 15:03:16 +00:00
Yorick Peterse 219f920c64 Merge branch 'remove-duplicate-orders' into 'master'
Remove duplicate orders

This changes the default order from `created_at DESC, id DESC` to just `id DESC` as this achieves the same results without the overhead of having to sort data twice (we've seen queries go from 200ms to just a few ms by removing the double sort).

cc @jacobvosmaer @dzaporozhets @rspeicher @DouweM 

See merge request !1735
2015-11-04 10:14:08 +00:00
Robert Speicher d09d62b6b8 Replace all usages of git command with configurable binary path
Closes #3311
2015-11-03 17:11:09 -05:00