Commit Graph
3061 Commits
Author SHA1 Message Date
Alex Lossent b463975480 Improve invalidation of stored service password if the endpoint URL is changed
It now allows to specify a password at the same time as the new URL, and works
on the service template admin pages.
2015-10-14 15:27:59 +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
Dmitriy Zaporozhets c9c538469c Merge branch 'redesign-files-page' 2015-10-13 17:48:46 +02:00
Dmitriy Zaporozhets a0a488ed13 Apply new design to files page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-13 16:41:48 +02: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 daca1c6511 Fix broken tests 2015-10-12 22:32:29 +02:00
Kamil Trzcinski c61dc13150 Fix some changes 2015-10-12 16:41:36 +02:00
Kamil Trzcinski 2e9c1608e5 Fix commit skipping 2015-10-12 16:35:58 +02:00
Dmitriy Zaporozhets c8d01fa82a Merge branch 'reset_service_password' into 'master'
Invalidate stored service password if the endpoint URL is changed



See merge request !1558
2015-10-12 14:30:22 +00: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
Kamil Trzcinski 887494761e Fix commit status POST URL 2015-10-12 12:15:35 +02:00
Kamil Trzcinski 914cfbd2f1 Implement Commit Status API 2015-10-12 11:53:49 +02:00
Robert Speicher 42603af326 Merge branch 'fix_email_downcasing' into 'master'
LDAP email address downcasing

Fixes #2960

In the event we cannot match an LDAP user by DN we attempt to find an identity by email address and then update the DN. In this case the identity is matched by email address. 

If the user's email address in LDAP has an upper case character we cannot find a match in the GitLab database. GitLab downcases emails before the user object is saved.

This merge request downcases the email from LDAP before we lookup by email. I also added a test to prevent a regression.

See merge request !1550
2015-10-11 22:53:11 +00:00
Robert Speicher 69b41ba043 Normalize space-like characters in keys before output to gitlab-shell
gitlab-shell expects only one tab separator per key, and an SSH key with
a tab character in the comment, for example, would break things.

Closes #2970
2015-10-08 20:34:50 -04:00
Ben Boeckel 6b73902733 merge_request: add work_in_progress to MR hooks 2015-10-08 16:37:04 -04:00
Drew Blessing b7def88c02 Fix ldap email downcasing bug 2015-10-08 14:59:46 -05: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
Yorick Peterse 03417456f0 Revamp finding projects by namespaces
By using a JOIN we can remove the need for using 2 separate queries to
find a project by its namespace. Combined with an index (only needed for
PostgreSQL) this reduces the query time from ~245 ms (~520 ms for the
first call) down to roughly 10 ms (~15 ms for the first call).
2015-10-08 14:35:32 +02:00
Stan Hu c789452134 Merge branch 'XenGi/gitlab-ce-master' 2015-10-08 03:41:07 -07:00
Robert Speicher dbf9ccbcfe Check originalEvent.repeat *and* event.repeat
phantomjs < 2.0 doesn't support creating `KeyboardEvent` so the tests
were failing on CI
2015-10-07 17:59:10 -04:00
Yorick Peterse 1190d0ab3d Added concern for case-insensitive WHERE queries
On PostgreSQL these queries use LOWER(...) to compare columns and
values. For MySQL a regular WHERE is performed as MySQL is already
case-insensitive.
2015-10-07 23:32:14 +02:00
Yorick Peterse 85c6a3743a Added methods for detecting MySQL/PostgreSQL
These two methods remove the need for manually going into
ActiveRecord::Base.connection all over the place.
2015-10-07 23:32:14 +02:00
Robert Speicher fcf99d0d09 Check originalEvent.repeat 2015-10-07 15:23:42 -04:00
Robert Speicher 01d0926bc1 Add "Quick Submit" JS behavior 2015-10-07 15:23:41 -04:00
Robert Speicher 38fbfb9fe6 Require jquery.turbolinks in all JS specs
Side-effect: This simplifies the requiresInput handler
2015-10-07 15:23:41 -04:00
Dmitriy Zaporozhets 1f11096c17 Merge branch 'stanhu/gitlab-ce-improve-label-milestones-filter' 2015-10-07 19:12:20 +02:00
Dmitriy Zaporozhets 030b5038b1 Merge branch 'cleanup-ci-pages' into 'master'
Cleanup CI pages

- [x] Remove `ci/projects/:id` page
- [x] Remove Continuous integration from project menu
- [x] Remove unused css/js
- [x] Remove Ci::Commit and Ci::Build controllers
- [x] Move CI services to project settings area


cc @ayufan 

Part of #2594

See merge request !1529
2015-10-07 17:04:54 +00:00
Dmitriy Zaporozhets 7f63a8787c Fix tests and few CI features
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-07 17:54:49 +02:00
Stan Hu dfbbc80611 Support filtering by "Any" milestone or issue and fix "No Milestone" and "No Label" filters
Closes #2619

Closes https://github.com/gitlabhq/gitlabhq/issues/9631
2015-10-07 07:21:50 -07:00
Dmitriy Zaporozhets a30b68fe1d Move CI services to project settings area
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-07 16:20:31 +02:00
Stan Hu 75bb1087df Allow removing of project without confirmation when JavaScript is disabled
Closes #2485
2015-10-07 06:52:11 -07:00
Dmitriy Zaporozhets 1e06cabf4a Remove Ci::Commit and Ci::Build controllers
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-07 15:24:32 +02:00
Dmitriy Zaporozhets 7d220c1e79 Remove test for removed page and add menu highlight for build page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-07 14:56:21 +02:00
Stan Hu 0ab6ca93aa Add directory feature button
Change "+" icon under "Files" section to have three options:

* Create file
* Upload file
* New directory

Upload file is no longer accessible from the "Create file" page.
Users can now select a target branch in upload file as well.

Closes #2799: Fixes a bug where file modes were overwritten after a commit

Closes https://github.com/gitlabhq/gitlabhq/issues/8253: Existing files
can no longer be overwritten in the "Create file" section.

Closes #2557
2015-10-07 04:22:55 -07:00
Dmitriy Zaporozhets 8dcc8e5db6 Fix routing in CI mailer
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-07 10:26:40 +02:00
Dmitriy Zaporozhets 82b6a17ca7 Fix ci build routing and few tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-06 21:41:37 +02:00
Dmitriy Zaporozhets 27b75b2b2d Refactor commit/build tests and fix CI cancel
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-06 20:36:22 +02:00
Yorick Peterse 7adf9a52ba Added benchmarks for finding trending projects 2015-10-06 17:26:32 +02:00
Yorick Peterse b7abba0ca0 Revamp trending projects query
This changes the query to use a COUNT nested in an INNER JOIN, instead
of a COUNT plus a GROUP BY. There are two reasons for this:

1. Using a COUNT in an INNER JOIN can be quite a bit faster.
2. The use of a GROUP BY means that method calls such as "any?"
   (and everything else that calls "count") operate on a Hash that
   counts the amount of notes on a per project basis, instead of just
   counting the total amount of projects.

The query has been moved into Project.trending as its logic is simple
enough. As a result of this testing the TrendingProjectsFinder class
simply involves testing if the right methods are called, removing the
need for setting up database records.
2015-10-06 17:26:32 +02:00
Yorick Peterse 1f14e689e5 Added specs for TrendingProjectsFinder 2015-10-06 17:26:32 +02:00
Kamil Trzciński 3eef0e18e0 Merge branch 'refactor-build-service' into 'master'
Refactor Ci::Commit and Ci::Build to have all builds for same :sha on single page

This makes Ci::Commit to have only :sha and simplifies routing to have only :sha in path. The :ref and :push_data is now parameter of Ci::Build.

All commit related data (git author, message and .gitlab-ci.yml) is read directly from repository.

All code related for creating builds is moved to CreateBuildsService.

Status deduction is rewritten to make if more efficient and easier to integrate with Commit Status API.

This is partially working, tests are not yet touched.

This slightly changes view of Commit:
![Screen_Shot_2015-10-02_at_15.21.47](https://gitlab.com/gitlab-org/gitlab-ce/uploads/ad3f1ccdcc87659ea437d8db6c5b9f94/Screen_Shot_2015-10-02_at_15.21.47.png)

@dzaporozhets What do you think?


See merge request !1502
2015-10-05 17:42:50 +00:00
Kamil Trzcinski 97a11136d3 Fix create_trigger_request_service_spec 2015-10-05 17:06:31 +02:00
Yorick Peterse 2fa4e2fb6a Evaluate benchmark blocks in the proper context
This ensures that blocks defines using "benchmark_subject" have access
to methods defined using let/subject & friends.
2015-10-05 16:27:41 +02:00
Kamil Trzcinski 517815f40f Fix gitlab_ci_yaml_processor specs 2015-10-05 16:07:50 +02:00
Kamil Trzcinski 29a7c6796e Fix GitLabCiService and remove ci_yaml_file from CI push data 2015-10-05 16:06:35 +02:00
Kamil Trzcinski c985389722 Add stage tests 2015-10-05 15:59:31 +02:00
Dmitriy Zaporozhets 39772f0116 Merge branch 'ci-web-hooks' 2015-10-05 15:01:40 +02:00
Yorick Peterse b6808f437d Merge branch 'benchmark-suite' into 'master'
Basic RSpec/benchmark-ips powered benchmark suite

Corresponding issue: #2909, see the commit messages for more details.

A few things to note:

1. The current use of `subject` isn't exactly easy on the eyes due to them having to return a Proc, I'm not sure yet how (and if) we can work around this.
2. The maximum amount of iterations in the current `User.by_login` benchmark is arbitrary, we might have to adjust it once said method's performance has been improved.
3. Benchmarks currently take 2 seconds to warm up and 5 seconds to run (benchmark-ips defaults). 
4. The custom RSpec matcher file (`benchmark_matchers.rb`) is a bit messy, any feedback on this would be appreciated

Any comments/feedback on this would be greatly appreciated.

See merge request !1503
2015-10-05 12:56:52 +00:00