Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-05-08Merge branch 'dm-project-factory-import-state' into 'master'Robert Speicher
Fix project factory `import_*` traits Closes gitlab-ee#5904 See merge request gitlab-org/gitlab-ce!18780
2018-05-07Don't always create a new import_state record from project factoryDouwe Maan
2018-05-07Merge branch '42099-port-push-mirroring-to-ce-ce-port-v-2' into 'master'Douwe Maan
CE backport of Backports Push Mirrors to CE Closes #42099 See merge request gitlab-org/gitlab-ce!18715
2018-05-07Bump Gitaly to 0.98.0Zeger-Jan van de Weg
Hooks were run for wikis, but given the internal API wasn't responding failures happended, as seen on: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18693
2018-05-07Backports every CE related change from ee-5484 to CETiago Botelho
2018-05-04Backports every CE related change from ee-44542 to CETiago Botelho
2018-05-03Revert "Use factory in specs for ProjectCiCdSettings"Dylan Griffith
This reverts commit bf790c26c58e214c27132e7a54fdf4a4cc77bdaf.
2018-05-03Use factory in specs for ProjectCiCdSettingsDylan Griffith
2018-04-30Fix up db/schema.rb changes leftover and comments out of dateDylan Griffith
2018-04-26Merge branch 'master' into siemens-runner-per-groupDylan Griffith
2018-04-25Merge branch 'zj-storage-path-deprecation' into 'master'Douwe Maan
Legacy disk path refactor Closes gitaly#1111 See merge request gitlab-org/gitlab-ce!18364
2018-04-25Gitlab::Shell works on shard name, not pathZeger-Jan van de Weg
Direct disk access is done through Gitaly now, so the legacy path was deprecated. This path was used in Gitlab::Shell however. This required the refactoring in this commit. Added is the removal of direct path access on the project model, as that lookup wasn't needed anymore is most cases. Closes https://gitlab.com/gitlab-org/gitaly/issues/1111
2018-04-24Allow admins to push to empty reposBob Van Landuyt
2018-04-24Merge branch 'master' into siemens-runner-per-groupDylan Griffith
2018-04-23Move spec helpers/matchers/shared examples/contexts to their relevant folderRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-04-23project#group_runner_enabled -> project_settingsAlexis Reigel
2018-02-08Merge branch '40744-hashed-storage-specs' into 'master'Sean McGivern
Use hashed storage in the specs Closes #40744 See merge request gitlab-org/gitlab-ce!15681
2018-02-07Use hashed storage in the specsNick Thomas
2018-02-07Fix order of checks in editable? method.Pawel Chojnacki
+ address small nitpicks
2018-02-06Merge branch 'master' into pawel/connect_to_prometheus_through_proxy-30480Mike Greiling
* master: (242 commits) Validate user namespace before saving so that errors persist on model Reset Project's column information in spec/lib/gitlab/background_migration/populate_merge_request_metrics_with_events_data_spec.rb Explicitly set cwd in Sidekiq memory killer instead of depending on getcwd Downgrade google-protobuf Close low level rugged repository in project cache worker File upload UI obeys LFS filters Resolve "Add a link to documentation on how to get external ip in the Kubernetes cluster details page" Upgrade GitLab Workhorse to v3.6.0 Add sorting options for /users API (admin only) improvements from feedback [ci-skip] add changelog remove file after `Upload#destroy` Fix a hardcoded pipeline ID in a spinach step Override group sidebar links Replace "cluster" with "Kubernetes cluster" Reorder async/sync tasks in BuildFinishedWorker to read traces efficiently Fix tests for Drop filename enforcement Revert using expand_fixture_path in factory Revert "Add FixtureHelpers for FactoryGirl" Refactor :trace to :trace_live in spec ...
2018-02-05Fix export removal for hashed-storage projects within a renamed or deleted ↵Nick Thomas
namespace
2018-02-01porting changes from upstreamMicaël Bergeron
2018-01-30enable manual configuration property for all test prometheus servicesPawel Chojnacki
2017-12-14Replace factory_girl_rails with factory_bot_railsRémy Coutable
I've followed the [upgrade guide](https://github.com/thoughtbot/factory_bot/blob/4-9-0-stable/UPGRADE_FROM_FACTORY_GIRL.md) and ran these two commands: ``` grep -e FactoryGirl **/*.rake **/*.rb -s -l | xargs sed -i "" "s|FactoryGirl|FactoryBot|" grep -e factory_girl **/*.rake **/*.rb -s -l | xargs sed -i "" "s|factory_girl|factory_bot|" ``` Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-10-06Create idea of read-only databaseToon Claes
In GitLab EE, a GitLab instance can be read-only (e.g. when it's a Geo secondary node). But in GitLab CE it also might be useful to have the "read-only" idea around. So port it back to GitLab CE. Also having the principle of read-only in GitLab CE would hopefully lead to less errors introduced, doing write operations when there aren't allowed for read-only calls. Closes gitlab-org/gitlab-ce#37534.
2017-09-28Add support to migrate existing projects to Hashed Storage asyncGabriel Mazetto
2017-09-28[Backported from EE] Readonly flag for ProjectsGabriel Mazetto
This is used in EE for the storage migration, and we want to use this in CE as well to be able to migrate projects to hashed_storage.
2017-08-25Prevent new / renamed project from using a repository path that already ↵Gabriel Mazetto
exists on disk There are some redundancies in the validation steps, and that is to preserve current error messages behavior Also few specs have to be changed in order to fix madness in validation logic.
2017-08-22Make sure repository's removal work for legacy and hashed storagesGabriel Mazetto
2017-08-22New storage is now "Hashed" instead of "UUID"Gabriel Mazetto
2017-08-10Improve the Project factory to make `creator` defaults to namespace.ownerRémy Coutable
Also improves the `create_templates` transient attribute and use `project.project_feature.update_columns` instead of `project.project_feature.update_attributes!` since it's faster. Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-08-04Add a Circuitbreaker for storage pathsBob Van Landuyt
2017-08-03Change all `:empty_project` to `:project`Robert Speicher
2017-08-02Remove `:empty_project` factory, implement `:repository` traitRobert Speicher
2017-08-01Rename path_with_namespace -> disk_path when dealing with the filesystemGabriel Mazetto
2017-07-27Fix the :project factory by not copying the test repo twiceRémy Coutable
Also, fixing some calls to the :project factory with the :test_repo trait since this trait is already included in the :project factory. Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-30Improve support for external issue referencesAdam Niedzielski
2017-06-21Enable Style/DotPosition Rubocop :cop:Grzegorz Bizon
2017-06-06Merge branch 'pull-mirror-overhaul-ce-backport' into 'master'Douwe Maan
backports changed import logic from pull mirroring feature into CE See merge request !11850
2017-06-06backports changed import logic from pull mirroring feature into CETiago Botelho
2017-06-02Lint our factories creation in addition to their buildRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-29Merge branch 'rework-authorizations-performance' into 'master'Douwe Maan
Rework project authorizations and nested groups for better performance See merge request !10885
2017-05-18If TestEnv#set_repo_refs fails, clean test repos and retryRémy Coutable
Sometimes, new references are not retrieved when a `git fetch` is called in a bare repos. The easiest solution is to cleanup the test repos and retry in this case. This only happens when a new ref is added to TestEnv::BRANCH_SHA or TestEnv::FORKED_BRANCH_SHA. Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-18Factorize TestEvent#copy_repoRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-17Use CTEs for nested groups and authorizationsYorick Peterse
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.
2017-05-01Update Carrierwave and fog-coreZeger-Jan van de Weg
2017-03-08Raise an exception if creating a test repository failsNick Thomas
2017-03-07Added Prometheus Service and Prometheus graphsKamil Trzciński
2017-03-06DRY up {jira,kubernets}_project factoriesSean McGivern
2017-03-02Delete hooks from project with empty repositoryDouwe Maan