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
2016-08-17Order board lists by list_type, and positionDouglas Barbosa Alexandre
2016-08-17Respect Backlog/Done positions when creating a new listDouglas Barbosa Alexandre
2016-08-17Extract new list position validation to a methodDouglas Barbosa Alexandre
2016-08-17Check if user can update the issue before moving it betweens listsDouglas Barbosa Alexandre
2016-08-17Add service to move issues between listsDouglas Barbosa Alexandre
2016-08-17Does not allow Backlog/Done lists to be movedDouglas Barbosa Alexandre
2016-08-17Does not allow Backlog/Done lists to be removedDouglas Barbosa Alexandre
2016-08-17Create Backlog/Done lists when creating a new boardDouglas Barbosa Alexandre
2016-08-17Add service to remove a list from boardDouglas Barbosa Alexandre
2016-08-17Add service to move board listsDouglas Barbosa Alexandre
2016-08-17Add service to create a board listDouglas Barbosa Alexandre
2016-08-17Add service to create a new board for a projectDouglas Barbosa Alexandre
2016-08-16Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into ↵Kamil Trzcinski
pipeline-hooks-without-slack
2016-08-16Fix failing tests relating to backporting ee!581.Timothy Andrew
1. `GitPushService` was still using `{merge,push}_access_level_attributes` instead of `{merge,push}_access_levels_attributes`. 2. The branches API creates access levels regardless of the state of the `developers_can_{push,merge}` parameters. This is in line with the UI, where Master access is the default for a new protected branch. 3. Use `after(:build)` to create access levels in the `protected_branches` factory, so that `factories_spec` passes. It only builds records, so we need to create access levels on `build` as well.
2016-08-16Backport changes from gitlab-org/gitlab-ee!581 to CE.Timothy Andrew
!581 has a lot of changes that would cause merge conflicts if not properly backported to CE. This commit/MR serves as a better foundation for gitlab-org/gitlab-ee!581. = Changes = 1. Move from `has_one {merge,push}_access_level` to `has_many`, with the `length` of the association limited to `1`. This is _effectively_ a `has_one` association, but should cause less conflicts with EE, which is set to `has_many`. This has a number of related changes in the views, specs, and factories. 2. Make `gon` variable loading more consistent (with EE!581) in the `ProtectedBranchesController`. Also use `::` to prefix the `ProtectedBranches` services, because this is required in EE. 3. Extract a `ProtectedBranchAccess` concern from the two access level models. This concern only has a single `humanize` method here, but will have more methods in EE. 4. Add `form_errors` to the protected branches creation form. This is not strictly required for EE compatibility, but was an oversight nonetheless.
2016-08-16Merge branch 'akismet-submittable' into 'master' Robert Speicher
Submit to Akismet Part 1 (Issues) Related to #5932 #5573 gitlab-com/infrastructure#14 See merge request !5538
2016-08-16Further refactor and syntax fixes.Patricio Cano
2016-08-16Merge branch 'frank-west-iii/gitlab-ce-fwiii-5857-web-editor-overwrites-commits'Douwe Maan
2016-08-15Merge remote-tracking branch 'origin/master' into pipeline-hooks-without-slackKamil Trzcinski
2016-08-15Refactored AkismetHelper into AkismetService and cleaned up `Spammable`Patricio Cano
- Refactored SpamCheckService into SpamService
2016-08-15Allow `Issue` to be submitted as spamPatricio Cano
- Added controller actions as reusable concerns - Added controller tests
2016-08-15Refactored spam related code even furtherPatricio Cano
- Removed unnecessary column from `SpamLog` - Moved creation of SpamLogs out of its own service and into SpamCheckService - Simplified code in SpamCheckService. - Moved move spam related code into Spammable concern
2016-08-15Complete refactor of the `Spammable` concern and tests:Patricio Cano
- Merged `AkismetSubmittable` into `Spammable` - Clean up `SpamCheckService` - Added tests for `Spammable` - Added submit (ham or spam) options to `AkismetHelper`
2016-08-15Lay the ground works to submit information to AkismetPatricio Cano
- New concern `AkismetSubmittable` to allow issues and other `Spammable` models to be submitted to Akismet. - New model `UserAgentDetail` to store information needed for Akismet. - Services needed for their creation and tests.
2016-08-15Merge branch '20842-todos-queries-cache' into 'master' Yorick Peterse
Try to get back todo's cache or at least avoid hitting the database See merge request !5789
2016-08-15Prevents accidental overwrites of commits from UIFrank West
Currently when a user performs an update of a file through the UI and there has already been a change committed to the file the previous commits will be overwritten without a check to see if the file has been changed. This commit uses the last commit sha at the time the user starts editing the file and compares it with the current sha of the file being edited to ensure they are the same before committing the file. If the shas do not match we throw an exception preventing the commit from the commit from occurring. Fixes #5857
2016-08-13Merge remote-tracking branch 'origin/master' into pipeline-hooks-without-slackKamil Trzcinski
2016-08-13Don't show new MR URL after push when it doesn't make senseDouwe Maan
2016-08-12Merge branch 'fix-namespace-deletion' into 'master' Robert Speicher
Fix bug where destroying a namespace would not always destroy projects There is a race condition in DestroyGroupService now that projects are deleted asynchronously: 1. User attempts to delete group 2. DestroyGroupService iterates through all projects and schedules a Sidekiq job to delete each Project 3. DestroyGroupService destroys the Group, leaving all its projects without a namespace 4. Projects::DestroyService runs later but the can?(current_user, :remove_project) is `false` because the user no longer has permission to destroy projects with no namespace. 5. This leaves the project in pending_delete state with no namespace/group. Projects without a namespace or group also adds another problem: it's not possible to destroy the container registry tags, since `container_registry_path_with_namespace` is the wrong value. The fix is to destroy the group asynchronously and run `execute` directly on Projects::DestroyService. Closes #17893 See merge request !4341
2016-08-12Recover usage of Todos counter cachePaco Guzman
We’re being kept up to date the counter data but we’re not using it. The only thing which is not real if is the number of projects that the user read changes the number of todos can be stale for some time. The counters will be sync just after the user receives a new todo or mark any as done
2016-08-12Merge remote-tracking branch 'origin/master' into pipeline-hooks-without-slackKamil Trzcinski
2016-08-12Use event `enqueue` instead of `queue`Kamil Trzcinski
2016-08-12Merge branch 'improve-pipeline-processing' into pipeline-hooks-without-slackKamil Trzcinski
# Conflicts: # app/models/ci/pipeline.rb # app/models/commit_status.rb # app/services/ci/create_pipeline_service.rb # spec/models/ci/pipeline_spec.rb
2016-08-12Fix tests. We cannot reload unless it's already saved:Lin Jen-Shin
Not sure if this is the right fix... Or maybe we should actually merge: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5782
2016-08-12Simplify the name for data builder, feedback:Lin Jen-Shin
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5620#note_13671791
2016-08-12Merge remote-tracking branch 'origin/master' into improve-pipeline-processingKamil Trzcinski
2016-08-12Fix bug where destroying a namespace would not always destroy projectsStan Hu
There is a race condition in DestroyGroupService now that projects are deleted asynchronously: 1. User attempts to delete group 2. DestroyGroupService iterates through all projects and schedules a Sidekiq job to delete each Project 3. DestroyGroupService destroys the Group, leaving all its projects without a namespace 4. Projects::DestroyService runs later but the can?(current_user, :remove_project) is `false` because the user no longer has permission to destroy projects with no namespace. 5. This leaves the project in pending_delete state with no namespace/group. Projects without a namespace or group also adds another problem: it's not possible to destroy the container registry tags, since container_registry_path_with_namespace is the wrong value. The fix is to destroy the group asynchronously and to run execute directly on Projects::DestroyService. Closes #17893
2016-08-11Use state machine for pipeline event processingKamil Trzcinski
2016-08-11api for generating new merge requestScott Le
DRY code + fix rubocop Add more test cases Append to changelog DRY changes list find_url service for merge_requests use GET for getting merge request links remove files rename to get_url_service reduce loop add test case for cross project refactor tiny thing update changelog
2016-08-11Merge remote-tracking branch 'origin/master' into pipeline-hooks-without-slackKamil Trzcinski
# Conflicts: # app/models/ci/pipeline.rb # app/services/ci/create_pipeline_service.rb # spec/models/project_services/hipchat_service_spec.rb
2016-08-11Merge branch 'refactor-builds-creation-service' into 'master' Rémy Coutable
Refactor pipeline creation service ## What does this MR do? This refactors GitLab CI build processing: all builds for pipeline are pre-created when a pipeline object is created. The builds are created with a new introduced status `created`. The builds are then automatically promoted to `pending` when a previous stage do succeed. This significantly simplifies pipeline processing code solving a lot of problems of lazily initialisation of previous approach (builds were created on-demand). ## Why was this MR needed? The previous mechanism had a lot of flows (shown in related issues) in how it work, but also in code design. Removing cross model-service-library dependencies. The current approach moves a build creation to single place `CreatePipelineService` and removes a dynamic dependency on `config_processor` significantly simplifying a build creation and pipeline processing. Pipeline processing is implemented in `ProcessPipelineService`. This also allows to easily extend GitLab with Manual Actions which is part of 8.10 direction issue. ## Migration problem ~~This MR removes the a on-demand creation of builds in pipelines. Pipelines that are running and are in mid-stage (some stages started, but not all) will not be fully evaluated after application restart. This happens, because the code responsible for on-demand creation is removed. There's no easy way to migrate existing pipelines, other than doing offline migration and putting pipeline processing in migration code (which seems to be a really bad idea).~~ To support old pipelines I added a lazy initialization of builds if none is found. ## What are the relevant issue numbers? Fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/12839 Solves: https://gitlab.com/gitlab-org/gitlab-ce/issues/18644 https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/289 Allows to easily implement: https://gitlab.com/gitlab-org/gitlab-ce/issues/17010 ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [x] API support added - Tests - [x] Added for this feature/bug - [ ] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !5295
2016-08-11Pre-create all builds for Pipeline when a trigger is receivedKamil Trzcinski
This change simplifies a Pipeline processing by introducing a special new status: created. This status is used for all builds that are created for a pipeline. We are then processing next stages and queueing some of the builds (created -> pending) or skipping them (created -> skipped). This makes it possible to simplify and solve a few ordering problems with how previously builds were scheduled. This also allows us to visualise a full pipeline (with created builds). This also removes an after_touch used for updating a pipeline state parameters. Right now in various places we explicitly call a reload_status! on pipeline to force it to be updated and saved.
2016-08-11Merge remote-tracking branch 'upstream/master' into pipeline-hooks-without-slackLin Jen-Shin
* upstream/master: (233 commits) Fix awardable button mutuality loading spinners Update CHANGELOG for 8.10.5 Clean up project destruction Small refactor of doc/development/README.md Avoid commit lookup on diff_helper Removed extra newline from redis_spec.rb Used cached value of project count to reduce DB load Remove duplicate link_to statements Mention add_column_with_default in downtime guide Add missing space to generic badge template Rename `run` task helper method to prevent conflict with StateMachine Add a method in Project to return a cached value of total count of projects spellcheck Add svg guidelines to ui guide Add Changelog entry for Grape upgrade [ci skip] Fix Grape tests. Retain old behavior Update Grape from 0.13.0 to 0.15.0. adds second batch of tests changed to active tense fixes part1 of files to start using active tense ...
2016-08-10New AccessRequests API endpoints for Group & ProjectRémy Coutable
Also, mutualize AccessRequests and Members endpoints for Group & Project. New API documentation for the AccessRequests endpoints. Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-08-10Clean up project destructionStan Hu
Instead of redirecting from the project service to the service and back to the model, put all destruction code in the service. Also removes a possible source of failure where run_after_commit may not destroy the project.
2016-08-08Merge branch 'zj-enable-deploy-keys-api' into 'master' Douwe Maan
Enable/Disable Deploy keys for a project Closes #20123 ## Does this MR meet the acceptance criteria? - [X] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [X] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [X] API support added - Tests - [X] Added for this feature/bug - [X] All builds are passing See merge request !5647
2016-08-08Namespace EnableDeployKeyService under ProjectsZ.J. van de Weg
2016-08-05Create service for enabling deploy keysZ.J. van de Weg
2016-08-04Touch it after builds were created, aligning with:Lin Jen-Shin
CreateCommitBuildsService
2016-08-04Move those builders to their own namespace, feedback:Lin Jen-Shin
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5620#note_13540099