Commit Graph
2217 Commits
Author SHA1 Message Date
Douwe Maan d80a4d3c15 Merge branch 'rs-redactor-filter' into 'master'
Separate rendering of Markdown reference links from redacting those the user doesn't have access to and extracting referenced objects

Related: !1014

See merge request !1090
2015-10-17 13:57:22 +02:00
Robert SpeicherandRobert Speicher f4d3639a0d Merge branch 'filter-label' into 'master'
Allow dashboard and group issues/MRs to be filtered by label

See merge request !1591
2015-10-16 17:31:38 -04:00
Douwe MaanandRobert Speicher fd2d295b6b Merge branch 'notify-mr-upon-branch-presence-change' into 'master'
Add a system note and update relevant merge requests when a branch is deleted or re-added

If a branch is deleted with an open merge request, amended offline, and then pushed again,
GitLab doesn't bother to update the merge request even though the last commit ID and/or
code may have changed. This MR ensures that each push will update any relevant merge
requests and adds a system note if this happens as well.

The new messages look like:

![image](https://gitlab.com/gitlab-org/gitlab-ce/uploads/6581eea069cd8e485b7fa4187ed4c043/image.png)

Closes #2926 

See merge request !1601
2015-10-16 16:03:48 -04:00
Kamil Trzcinski 0aa6061d6a Implement when syntax in .gitlab-ci.yml 2015-10-15 23:49:39 +02:00
Valery Sizov 62bf2eb862 Merge branch 'fix/improve_reset_service_password_v2' into 'master'
Improve invalidation of stored service password if the endpoint URL is changed (V2)

New version of !1583, using the same failproof logic but this time mirroring the name and behaviour of the change-tracking methods of ActiveModel::Dirty in order to make it clearer and more natural.

Added more tests to clarify the expected behaviour.

This is an alternative to !1594

/cc @vsizov @rspeicher

See merge request !1600
2015-10-15 13:47:37 +00:00
Yorick Peterse 5ce933599c Merge branch 'user-by-login-performance' into 'master'
Improve User.by_login performance

This greatly speeds up the performance of `User.by_login`. I adopted some changes from @haynes in this patch, the credits go to him for coming up with those originally.

Fixes #2341

See merge request !1545
2015-10-15 13:41:17 +00:00
Dmitriy Zaporozhets c0a6836be4 Merge branch 'view-issue-performance' 2015-10-15 14:37:04 +02:00
Kamil Trzciński daccc54d25 Merge branch 'builds-view' into 'master'
Added builds view

![Screen_Shot_2015-10-13_at_19.02.48](https://gitlab.com/gitlab-org/gitlab-ce/uploads/95bb3a7d9d603678fdd077558637045d/Screen_Shot_2015-10-13_at_19.02.48.png)

/cc @dzaporozhets @vsizov 


See merge request !1593
2015-10-15 11:35:57 +00:00
Alex Lossent 98e666ab6a Improve invalidation of stored service password if the endpoint URL is changed
Password can now be specified at the same time as the new URL, and the service
template admin pages now work.
2015-10-15 12:07:59 +02:00
Yorick Peterse bed29940ef Fixed Rubocop styling issues 2015-10-15 12:05:01 +02:00
Yorick Peterse e5925d073e Renamed Note.inc_associations to with_associations 2015-10-15 12:05:01 +02:00
Yorick Peterse 3025b71141 Improve ProjectTeam#max_member_access performance
By comparing objects in Ruby we can greatly improve the performance of
this method. In the worst case (should no data be eager loaded) this
will run the same amount of queries as before, in the best case (when
data _is_ eager loadeD) it requires no queries at all.

The added benchmark used to produce around 273 iterations per second.
With this commit this has been increased to almost 40 000 iterations per
second: a speedup of roughly 145 times.

Combined with eager loading Note associations this results in about 30
queries less when viewing a single issue, this in turn cuts down the
loading time by 30-40%.
2015-10-15 12:05:01 +02:00
Yorick Peterse b5f8161dae Eager load project associations for notes
This ensures that when viewing an issue each note already has the
associated project, project members, group and group members available.
Since this information is requres for every note this results in quite
the reduction of SQL queries being executed.
2015-10-15 12:05:01 +02:00
Yorick Peterse 8237da0d4a Eager load note projects when viewing issues 2015-10-15 12:05:01 +02:00
Yorick Peterse 1554786c6a Eager load various issue/note associations
This ensures we don't end up running N+1 queries for the objects in the
affected collections.
2015-10-15 12:05:01 +02:00
Yorick Peterse 72f428c7d2 Improve performance of User.by_login
Performance is improved in two steps:

1. On PostgreSQL an expression index is used for checking lower(email)
   and lower(username).
2. The check to determine if we're searching for a username or Email is
   moved to Ruby. Thanks to @haynes for suggesting and writing the
   initial implementation of this.

Moving the check to Ruby makes this method an additional 1.5 times
faster compared to doing the check in the SQL query.

With performance being improved I've now also tweaked the amount of
iterations required by the User.by_login benchmark. This method now runs
between 900 and 1000 iterations per second.
2015-10-15 11:58:25 +02:00
Robert Speicher 123669a551 Merge branch 'simplify-cross-references' into 'master'
Simplify code around (cross)-references

See merge request !1568
2015-10-14 20:10:34 +00:00
Kamil Trzciński a3a80eac11 Merge branch 'show_pending_warning' into 'master'
Show warning when build is pending and there are not runners

This change is based on: !1530.

This resolves #2967.



See merge request !1573
2015-10-14 18:57:05 +00:00
Kamil Trzciński 45c0b74dc4 Merge branch 'predefined_build_variables' into 'master'
Add a few predefined variables to CI builds

This adds CI_BUILD_TAG, CI_BUILD_STAGE, CI_BUILD_NAME and CI_BUILD_TRIGGERED to build environment.

This change is based on: !1530 

See merge request !1572
2015-10-14 18:55:59 +00:00
Valery Sizov 8f584d5f2c Fix: Images cannot show when projects' path was changed 2015-10-14 18:50:35 +03:00
Kamil Trzcinski d9ece71ef0 Fix specs 2015-10-14 17:38:26 +02:00
Kamil Trzcinski 7af4f5215e Show warning if build doesn't have runners with specified tags or runners didn't connect recently
Slightly refactor runner status detection: moving it to Runner class

Signed-off-by: Kamil Trzcinski <ayufan@ayufan.eu>
2015-10-14 17:29:18 +02:00
Kamil Trzcinski 4d69c6a336 Refactor builds view 2015-10-14 17:28:38 +02:00
Kamil Trzcinski 09255eecd0 Remove ordering from :ci_commits relation 2015-10-14 17:28:38 +02:00
Kamil Trzcinski a957eca6f3 Added builds view 2015-10-14 17:28:38 +02:00
Kamil Trzcinski 5807419519 Use tag? instead of tag to indicate that this is boolean 2015-10-14 17:28:17 +02:00
Kamil Trzcinski 7b5ab3ded5 Added CI_BUILD_TAG, _STAGE, _NAME and _TRIGGERED to CI builds 2015-10-14 17:28:17 +02:00
Kamil Trzcinski 33c9d6e45c Fix retry and cancel for build 2015-10-14 12:56:52 +02:00
Douwe Maan 276b3a7bc2 Make Mentionable#cross_reference_exists? private. 2015-10-14 09:27:39 +02:00
Stan Hu e0072892e8 Merge branch 'add-wip-to-mr-hook-attrs' into 'master'
merge_request: add work_in_progress to MR hooks



See merge request !1443
2015-10-13 17:12:51 +00:00
Kamil Trzciński e3edd53ae4 Merge branch 'commit_status' into 'master'
Implement Commit Status API

This is preliminary implementation of Commit Status API, pretty much compatible with GitHub.

1. The Commit Statuses are stored in separate table: ci_commit_status.
2. The POST inserts a new row.
3. To POST execute GitLab API `post :id/repository/commits/:sha/status`. This accepts dual authorization:
- Using authorized user
- Using ci-token to allow easy posting from CI Services
4. This adds predefined variable to GitLab CI build environment: CI_BUILD_STATUS_URL, allowing to easy post status from within build (ex. with code coverage or other metrics).
5. This adds statuses to commit's builds view.
6. The commit's status is calculated taking into account status of all builds and all posted statuses.
7. The commit statuses doesn't trigger notifications.
8. The commit status API introduces two new privileges: `read_commit_statuses` and `create_commit_status`.
9. We still miss a few tests and documentation updates for API and CI.

@dzaporozhets @sytses What do you think?




See merge request !1530
2015-10-13 14:33:00 +00:00
Kamil Trzcinski e7cc554cc1 Fix retry and cancel URLs 2015-10-13 11:51:08 +02:00
Kamil Trzcinski 766da5fa7b Fix broken matrix_for_ref?
Signed-off-by: Kamil Trzcinski <ayufan@ayufan.eu>
2015-10-12 22:34:59 +02:00
Kamil Trzcinski daca1c6511 Fix broken tests 2015-10-12 22:32:29 +02:00
Kamil Trzcinski 5cd504ed33 Rename builds_without_retry to latest_builds 2015-10-12 16:39:08 +02:00
Kamil Trzcinski 789fe7b489 Update rendering 2015-10-12 16:32:58 +02:00
Kamil Trzcinski 69c04498ef Small bug fixes 2015-10-12 15:55:12 +02:00
Douwe Maan 7a0cc665ff Remove useless assignment 2015-10-12 15:34:08 +02:00
Douwe Maan 41075bad8d Chaining ftw 2015-10-12 14:39:33 +02:00
Douwe Maan 27d952b119 Fix cross-references originating from notes 2015-10-12 14:30:44 +02:00
Kamil Trzcinski 0aefeeb882 Add Commit Status documentation 2015-10-12 12:42:27 +02:00
Valery Sizov 07f6055272 Invalidate stored service password if the endpoint URL is changed 2015-10-12 13:21:57 +03:00
Kamil Trzcinski 7ef156a242 Add author to statuses 2015-10-12 12:16:55 +02:00
Douwe Maan b0164771ec Simplify code around (cross)-references 2015-10-12 11:54:46 +02:00
Kamil Trzcinski 914cfbd2f1 Implement Commit Status API 2015-10-12 11:53:49 +02:00
Stan Hu b60bc655f2 Restore placeholders in issue filters from "Any" to "Milestone" and "Label"
1f11096c included new filters but made it hard to determine which dropdown did
what. This patch restores the original placeholders.
2015-10-08 23:53:32 -07:00
Ben Boeckel 6b73902733 merge_request: add work_in_progress to MR hooks 2015-10-08 16:37:04 -04:00
Dmitriy Zaporozhets 0a8f90a040 Merge remote-tracking branch 'public/project-find-with-namespace-performance'
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-08 17:42:14 +02:00
Dmitriy Zaporozhets 69bcef32e1 Merge remote-tracking branch 'public/trending-projects-performance' 2015-10-08 16:22:43 +02:00
Ben Boeckel 380392212f merge_request: coerce work_in_progress? into a boolean 2015-10-08 10:08:08 -04:00