Age | Commit message (Collapse) | Author |
|
Rename BuildsController to JobsController
Closes #30699
See merge request !11407
|
|
Issue inline editing
Closes #24873
See merge request !11322
|
|
* upstream/master: (63 commits)
Update docs related to protected actions
Add changelog for protected branches abilities fix
Ask for an example project for bug reports
Center loading spinner in issuable filters
Fix chat commands specs related to protected actions
Fix builds controller specs related to protected actions
Fix pipeline retry specs related to protected actions
Fix environment model specs related to protected actions
Fix build factory specs related to protected actions
Fix job play service specs related to protected actions
Fix play status specs related to protected actions
Fix deploy chat command specs for protected actions
Fix environment specs related to protected actions
Fix pipeline processing specs related to protected actions
Fix build entity specs related to protected actions
Check only a merge ability for protected actions
Add tag_list param to project api
Allow PostReceivePack to be enabled with Gitaly
Remove some deprecated methods
Add :owned param to ProjectFinder
...
|
|
* upstream/master: (116 commits)
Revert "Merge branch 'grpc-1.3.4' into 'master'"
Return nil when looking up config for unknown LDAP provider
Avoid crash when trying to parse string with invalid UTF-8 sequence
Enable Gitaly by default in GitLab 9.3
Don’t create comment on JIRA if link already exists
Disable sub_group_issuables_spec.rb for mysql
Fix math rendering on blob pages
Add changelog
Don't allow to pass a user to ProjectWiki#http_url_to_repo
Revert "Merge branch '1937-https-clone-url-username' into 'master'
"
Fix bottom padding for build page
Fix /unsubscribe slash command creating extra todos
Fix omniauth-google-oauth2 dependencies in Gemfile.lock
Update looks job log
'New issue'/'New merge request' dropdowns should show only projects with issues/merge requests feature enabled
Fix spec for Members::AuthorizedDestroyService
31616-add-uptime-of-gitlab-instance-in-admin-area
Set head pipeline when creating merge requests
Create a separate helper to check if we show particular tab on a search page
Add performance deltas between app deployments on Merge Request widget
...
|
|
|
|
|
|
Rework project authorizations and nested groups for better performance
See merge request !10885
|
|
|
|
The decision was made around:
https://gitlab.com/gitlab-org/gitlab-ce/issues/26407#note_30624641
|
|
* upstream/master: (307 commits)
Address feedback
Add small update for the i18n guide.
update webpack to v2.6.1 patch release to fix "Can't find variable: Promise" error
update webpack-bundle-analyzer past v2.4.1 to support NamedChunksPlugin
name all webpack chunks to improve long term cacheability
add NameAllModulesPlugin to cover shortcomings of NamedModulesPlugin
upgrade to latest webpack version
Only use DROP INDEX CONCURRENTLY on postgreql 9.2+
Provide default for calculating label text color (!11681)
Add failing test for #32728
Bugfix: Always use the default language when generating emails.
Remove unecessary commit pattern check
Add regexp_for_value helper method
Remove shared example and improve sub_group_issuables_spec.rb
Remove 'should' from scenario in has_subgroup_title_spec.rb
Cartfile git and binary methods cannot take a GitHub repo
Fix terminals support for Kubernetes service
Add review comments to compare_spec.rb
Fix transient error clicking dropdown items in compare_spec.rb
Use non-global jQuery reference within raven bundle
...
|
|
Refactor `DynamicPathValidator` and `GitLab::Regex` some more
See merge request !11693
|
|
[ci skip]
|
|
This reverts commit b0498c176fa134761d899c9b369be12f1ca789c5
|
|
|
|
|
|
Fix ambiguous routing issues by teaching router about reserved words
See merge request !11570
|
|
|
|
|
|
Add transient head_pipeline_of to pipeline factories
See merge request !11566
|
|
Add feature test with unicode trace
See merge request !10736
|
|
Sort environments folders when opening them
Closes #30814
See merge request !11436
|
|
Squashed commit of the following:
commit 43e5bba774e9e383dd55c665e82f6fcfc4ebfc4f
Author: Shinya Maeda <gitlab.shinyamaeda@gmail.com>
Date: Mon Apr 17 17:28:44 2017 +0900
Add fix
commit 09610eebdf22ad048812bb86022504b2ad917e19
Author: Shinya Maeda <gitlab.shinyamaeda@gmail.com>
Date: Mon Apr 17 17:03:49 2017 +0900
Add trace test
|
|
|
|
Prevent project transfer if a new group is not selected
Closes #25455
See merge request !11214
|
|
Handle transient MR query count spec
See merge request !11571
|
|
|
|
|
|
|
|
|
|
Improve pipeline size for query limit test
Closes #31906
See merge request !11323
|
|
|
|
Bugfix: don't redirect to JSON endpoints after sign in
See merge request !11561
|
|
Load improvements related to MR widget
See merge request !11518
|
|
Fix redirects modifying the host
Closes #32506
See merge request !11498
|
|
|
|
In order to avoid string manipulation or modify route params (to make them unambiguous for `url_for`), we are accepting a behavior change:
When being redirected to the canonical path for a group, if you requested a group show path starting with `/groups/…` then you’ll now be redirected to the group at root `/…`.
|
|
|
|
|
|
|
|
Don’t replace a substring of the path if it is part of the top level route.
E.g. When redirecting from `/groups/ups` to `/groups/foo`, be careful not to do `/grofoo/ups`.
Projects are unaffected by this issue, but I am grouping the `#ensure_canonical_path` tests similar to the group and user tests.
|
|
|
|
|
|
This hides/disables some UI elements and API parameters related to
nested groups when MySQL is used, since nested groups are not supported
for MySQL.
|
|
This commit introduces the usage of Common Table Expressions (CTEs) to
efficiently retrieve nested group hierarchies, without having to rely on
the "routes" table (which is an _incredibly_ inefficient way of getting
the data). This requires a patch to ActiveRecord (found in the added
initializer) to work properly as ActiveRecord doesn't support WITH
statements properly out of the box.
Unfortunately MySQL provides no efficient way of getting nested groups.
For example, the old routes setup could easily take 5-10 seconds
depending on the amount of "routes" in a database. Providing vastly
different logic for both MySQL and PostgreSQL will negatively impact the
development process. Because of this the various nested groups related
methods return empty relations when used in combination with MySQL.
For project authorizations the logic is split up into two classes:
* Gitlab::ProjectAuthorizations::WithNestedGroups
* Gitlab::ProjectAuthorizations::WithoutNestedGroups
Both classes get the fresh project authorizations (= as they should be
in the "project_authorizations" table), including nested groups if
PostgreSQL is used. The logic of these two classes is quite different
apart from their public interface. This complicates development a bit,
but unfortunately there is no way around this.
This commit also introduces Gitlab::GroupHierarchy. This class can be
used to get the ancestors and descendants of a base relation, or both by
using a UNION. This in turn is used by methods such as:
* Namespace#ancestors
* Namespace#descendants
* User#all_expanded_groups
Again this class relies on CTEs and thus only works on PostgreSQL. The
Namespace methods will return an empty relation when MySQL is used,
while User#all_expanded_groups will return only the groups a user is a
direct member of.
Performance wise the impact is quite large. For example, on GitLab.com
Namespace#descendants used to take around 580 ms to retrieve data for a
particular user. Using CTEs we are able to reduce this down to roughly 1
millisecond, returning the exact same data.
== On The Fly Refreshing
Refreshing of authorizations on the fly (= when
users.authorized_projects_populated was not set) is removed with this
commit. This simplifies the code, and ensures any queries used for
authorizations are not mutated because they are executed in a Rails
scope (e.g. Project.visible_to_user).
This commit includes a migration to schedule refreshing authorizations
for all users, ensuring all of them have their authorizations in place.
Said migration schedules users in batches of 5000, with 5 minutes
between every batch to smear the load around a bit.
== Spec Changes
This commit also introduces some changes to various specs. For example,
some specs for ProjectTeam assumed that creating a personal project
would _not_ lead to the owner having access, which is incorrect. Because
we also no longer refresh authorizations on the fly for new users some
code had to be added to the "empty_project" factory. This chunk of code
ensures that the owner's permissions are refreshed after creating the
project, something that is normally done in Projects::CreateService.
|
|
The pipeline was quite meagre in both stages and the number of groups.
This has been improved. Performance is not yet optimal, but to limit
this from sliding further this slippery slope, a hard limit has been
set.
|
|
Rename other URL generators
admin_builds_path -> admin_jobs_path
Fix tests and more renaming
Fix more tests
Also change build_id to job_id in the controller
|
|
Fixes gitlab-org/gitlab-ce#30814
|
|
|
|
|
|
Fix conflict resolution from corrupted upstream
Closes gitlab-ee#2128
See merge request !11298
|