summaryrefslogtreecommitdiff
path: root/db
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into feature/gb/migrate-pipeline-stagesGrzegorz Bizon2017-06-0529-34/+535
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (524 commits) Improve user experience around slash commands in instant comments Fix LFS timeouts when trying to save large files retryable? is now available for CommitStatus Resolve "Documentation of `.gitlab-ci.yml` states incorrect example for variables" Fix test failures Add slugify project path to CI enviroment variables Fixed typo: craeted -> created 32118 Make New environment empty state btn lowercase Expose import_status in Projects API 32832 Remove overflow from comment form for confidential issues and vertically aligns confidential issue icon Fix test failures Allow manual bypass of auto_sign_in_with_provider Fix keys seed Allow users to be hard-deleted from the API fixup some classnames and media queries Enable the Style/PreferredHashMethods cop Lint our factories creation in addition to their build Don’t schedule workers from inside transactions Allow scheduling from after_commit hooks Forbid Sidekiq scheduling in transactions ... Conflicts: db/schema.rb spec/spec_helper.rb
| * Merge branch 'fix-realtime-edited-text-for-issues-9-3' into 'master'Phil Hughes2017-06-051-1/+1
| |\ | | | | | | | | | | | | Port fix-realtime-edited-text-for-issues 9-2-stable fix to master. See merge request !11478
| | * Fix up merge issuesfix-realtime-edited-text-for-issues-9-3Luke "Jared" Bennett2017-06-021-1/+1
| | |
| * | Merge branch 'sidekiq-transaction' into 'master'Sean McGivern2017-06-051-1/+10
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Forbid Sidekiq scheduling in transactions Closes #27233 See merge request !9376
| | * | Fix keys seedDouwe Maan2017-06-021-1/+10
| | |/
| * | Merge branch '30469-convdev-index' into 'master'Sean McGivern2017-06-053-0/+104
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | ConvDev Index Closes #30469 See merge request !11377
| | * | Add Conversational Development Index page to admin panelTaurie Davis, Simon Knox and Adam Niedzielski2017-06-013-0/+104
| | | |
| * | | Make sure that environment was created before deployingLin Jen-Shin2017-06-021-0/+4
| | | |
| * | | Merge remote-tracking branch 'upstream/master' into 25680-CI_ENVIRONMENT_URLLin Jen-Shin2017-06-024-2/+100
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (39 commits) Resolve "Improve Container Registry description" Add username parameter to gravatar URL Fix replying to a commit discussion displayed in the context of an MR Add fog-aliyun as backup storage provider Add missing specs Make sure protected can't be null; Test protected! Update session cookie key name to be unique to instance in development Just mention which GitLab version is required Fix data inconsistency issue for old artifacts by moving them to a currently used path Fix N+1 queries for non-members in comment threads Fix rubocop in spec/helpers/diff_helper_spec.rb Merge two items into one in the doc Only remove FK if it exists Maintain notes avatar at smaller breakpoint Fix pipeline schedule value name in documentation Add test for Project#protected_for? Update diff discussion position per discussion instead of per note Display Shared Runner status in Admin Dashboard Make sure we're loading the fresh variables Now secret_variables_for would return the variables ...
| | * | Merge branch '24196-protected-variables' into 'master'Kamil Trzciński2017-06-012-1/+17
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation for protected variables Closes #24196 See merge request !11688
| | | * | Make sure protected can't be null; Test protected!24196-protected-variablesLin Jen-Shin2017-06-011-2/+2
| | | | |
| | | * | Merge branch 'master' into '24196-protected-variables'Kamil Trzciński2017-06-015-4/+58
| | | |\ \ | | | | | | | | | | | | | | | | | | # Conflicts: # db/schema.rb
| | | * | | Update docs and use protected secret variable as the nameLin Jen-Shin2017-05-311-1/+1
| | | | | |
| | | * | | Merge remote-tracking branch 'upstream/master' into 24196-protected-variablesLin Jen-Shin2017-05-3115-10/+213
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (89 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 ...
| | | * \ \ \ Merge branch 'master' into '24196-protected-variables'Lin Jen-Shin (godfat)2017-05-266-14/+67
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # db/schema.rb
| | | * | | | | Backend implementation for protected variablesLin Jen-Shin2017-05-252-1/+17
| | | | | | | |
| | * | | | | | Add missing specsKamil Trzcinski2017-06-011-5/+5
| | | | | | | |
| | * | | | | | Fix data inconsistency issue for old artifacts by moving them to a currently ↵Kamil Trzcinski2017-06-011-0/+72
| | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | used path
| | * | | | | Merge branch 'zj-drop-fk-if-exists' into 'master'Yorick Peterse2017-06-011-1/+11
| | |\ \ \ \ \ | | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | Only remove FK if it exists See merge request !11828
| | | * | | | Only remove FK if it existszj-drop-fk-if-existsZ.J. van de Weg2017-06-011-1/+11
| | | | |_|/ | | | |/| |
| * | | | | Fix other use of CreateDeploymentService and makeLin Jen-Shin2017-06-021-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it a bit more robust against missing options, which we did guard on for some cases.
| * | | | | Just use the url from options, not saving it as a columnLin Jen-Shin2017-06-012-11/+1
| | | | | |
| * | | | | Merge remote-tracking branch 'upstream/master' into 25680-CI_ENVIRONMENT_URLLin Jen-Shin2017-06-0119-14/+271
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream/master: (251 commits) Don't match email addresses or foo@bar as user references Revert "Update GITLAB_SHELL_VERSION" Update GITLAB_SHELL_VERSION Add feature toggles through Flipper Change no_limits to limits Move includes call to scope Add GitLab Resources to University Add Documentation for GIT_CHECKOUT variable Remove entry variable Do not try to preload Commits when using Note.includes(:noteable) Ui improvements for count badges and permission badges Rename the other jobs Update jobs_spec for changes from builds_spec Introduce source to pipeline entity 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 ...
| | * | | | Merge branch 'master' into 'trigger-source'Grzegorz Bizon2017-05-312-2/+46
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | # Conflicts: # db/schema.rb
| | | * | | | Add feature toggles through FlipperAlejandro Rodríguez2017-05-312-1/+45
| | | |/ / /
| | * | | | Introduce source to pipeline entitytrigger-sourceKamil Trzcinski2017-05-314-3/+13
| | |/ / /
| | * | | Merge branch ↵Robert Speicher2017-05-2910-9/+10
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '32677-migrations-using-update_column_in_batches-must-have-a-spec' into 'master' New Migration/UpdateColumnInBatches cop Closes #32677 See merge request !11611
| | | * | | Disable Migration/UpdateColumnInBatches for old migrations32677-migrations-using-update_column_in_batches-must-have-a-specRémy Coutable2017-05-2910-9/+10
| | | | |/ | | | |/| | | | | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
| | * | | Merge branch 'rework-authorizations-performance' into 'master'Douwe Maan2017-05-295-1/+203
| | |\ \ \ | | | |/ / | | |/| | | | | | | | | | | | Rework project authorizations and nested groups for better performance See merge request !10885
| | | * | Index project_group_links.group_idYorick Peterse2017-05-172-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | This column is used when refreshing authorizations and without the index leads to a sequence scan being performed on this table.
| | | * | Convert nested groups to regular ones for MySQLYorick Peterse2017-05-171-0/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This migration will take all nested groups and convert them into regular groups, ensuring that members of any parent groups still have access to the child group. This migration relies on code external to it as copying all of this over involves hundreds of lines of code depending on all sorts of methods, making this practically impossible to do right.
| | | * | Use CTEs for nested groups and authorizationsYorick Peterse2017-05-173-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Merge branch 'master' into '25680-CI_ENVIRONMENT_URL'Lin Jen-Shin (godfat)2017-05-266-14/+67
| |\ \ \ \ | | |/ / / | | | | | | | | | | # Conflicts: # db/schema.rb
| | * | | Merge branch '32851-fix-postgres-9-1' into 'master'Douwe Maan2017-05-253-13/+5
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Resolve "GitLab 9.0 to 9.2 is incompatible with PostgreSQL 9.1" See merge request !11709
| | | * | | Only use DROP INDEX CONCURRENTLY on postgreql 9.2+Nick Thomas2017-05-253-13/+5
| | | | | |
| | * | | | Merge branch '17848-web-hook-logging' into 'master'Dmitriy Zaporozhets2017-05-252-0/+40
| | |\ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Implement Web Hooks calls logging Closes #17848 See merge request !11027
| | | * | | Implement web hooks loggingAlexander Randa2017-05-252-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * implemented logging of project and system web hooks * implemented UI for user area (project hooks) * implemented UI for admin area (system hooks) * implemented retry of logged webhook * NOT imeplemented log remover
| * | | | | Implement $CI_ENVIRONMENT_URL for jobsLin Jen-Shin2017-05-252-1/+11
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | We introduce ci_builds.environment_url and expand it when passing to runners. In the future the deployment could also retrieve the URL from the job instead of from the environment, which might have a different external URL because of another deployment happened.
* | | | | Reorder pipeline stages-related migrationsGrzegorz Bizon2017-05-263-1/+1
| | | | |
* | | | | Create foreign keys for pipeline stages in migrationGrzegorz Bizon2017-05-262-1/+20
| | | | |
* | | | | Migrate build stage reference in a separate migrationGrzegorz Bizon2017-05-263-9/+22
| | | | |
* | | | | Add stage_id column to ci_builds in a separate migrationGrzegorz Bizon2017-05-262-2/+9
| | | | |
* | | | | Use a separate migration to create pipeline stages indexGrzegorz Bizon2017-05-262-10/+15
| | | | |
* | | | | Add pipeline stages post deployment migrationGrzegorz Bizon2017-05-263-2/+48
| | | | |
* | | | | Simplify migrations for specific database schemaGrzegorz Bizon2017-05-252-2/+10
| | | | |
* | | | | Add PoC of ActiveRecord migration testingGrzegorz Bizon2017-05-251-0/+14
| |/ / / |/| | |
* | | | add rss_token attribute to user modelAlexis Reigel2017-05-242-1/+22
|/ / /
* | | Address reviewDouwe Maan2017-05-241-18/+0
| | |
* | | Add system note with link to diff comparison when MR discussion becomes outdatedDouwe Maan2017-05-232-1/+33
| | |
* | | Fix migrations for older PostgreSQL versionsfix-retried-for-postgresKamil Trzcinski2017-05-231-4/+6
| | | | | | | | | | | | | | | - Do not care about error when creating index on PostgreSQL - Test against PostgreSQL 9.2