Commit Graph
3047 Commits
Author SHA1 Message Date
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
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
Kamil Trzcinski fb12b81b42 Make rubocop happy 2015-10-05 14:39:56 +02:00
Kamil Trzcinski f42078f7c1 Fix rest of tests 2015-10-05 14:31:51 +02:00
Kamil Trzcinski 0367dbf043 Fix build pipelining 2015-10-05 14:15:15 +02:00
Kamil Trzcinski 5064c9038c Fix next bunch of tests 2015-10-05 13:51:28 +02:00
Kamil Trzcinski 782c8f9aa0 Fix triggers spec 2015-10-05 13:37:50 +02:00
Kamil Trzcinski d2d2df0738 Fix next round of tests 2015-10-05 13:12:00 +02:00
Kamil Trzcinski 317a746954 Make commit_spec run 2015-10-05 12:02:26 +02:00
Yorick Peterse 22506ddc50 Added benchmark_subject method for benchmarks
This class method can be used in "describe" blocks to specify the
subject of a benchmark. This lets you write:

    benchmark_subject { Foo }

instead of:

    benchmark_subject { -> { Foo } }
2015-10-05 10:51:24 +02:00
Dmitriy Zaporozhets c293cc9152 Move CI web hooks page to project settings area
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-10-05 10:47:23 +02:00
Kamil Trzcinski e3d870d7fc Add user to Ci::Build to have pusher email address 2015-10-05 10:15:40 +02:00
Kamil Trzcinski 546a3c6561 Refactor commit and build 2015-10-05 09:52:35 +02:00
Guilherme Garnier 963e6366be Fix rubocop warnings in features 2015-10-03 19:59:54 -05:00
Guilherme Garnier aed145a9c6 Fix rubocop warnings in spec/lib and spec/tasks 2015-10-03 16:02:21 -05:00
Guilherme Garnier 1cfb48ddd0 Merge remote-tracking branch 'upstream/master' 2015-10-03 11:46:29 -05:00