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-11-22Remove unnecessary require_relative calls from service classesSemyon Pupkov
Rails by default use autoload for all dirs from app folder. require_relative not needed. See ActiveSupport::Dependencies.autoload_paths
2016-10-17Fix environments specsKamil Trzcinski
2016-10-17Work on specsKamil Trzcinski
2016-10-17Improve after code reviewKamil Trzcinski
2016-10-17Save `on_stop` in deploymentKamil Trzcinski
2016-10-17Add `action` and `on_stop` to `environment` in .gitlab-ci.ymlKamil Trzcinski
2016-10-17Refactor code to use available and stopped statuses and refactor views to ↵Kamil Trzcinski
use separate renders
2016-10-17Merge remote-tracking branch 'origin/master' into 22191-delete-dynamic-envs-mrKamil Trzcinski
2016-10-14Check if project exists before creating deploymentGrzegorz Bizon
2016-10-13Use trasaction to process build deploymentGrzegorz Bizon
2016-10-06Initial support for closing environmentsKamil Trzcinski
2016-09-20Implement a second round of review comments from @DouweM.Timothy Andrew
- Don't use `TableReferences` - using `.arel_table` is shorter! - Move some database-related code to `Gitlab::Database` - Remove the `MergeRequest#issues_closed` and `Issue#closed_by_merge_requests` associations. They were either shadowing or were too similar to existing methods. They are not being used anywhere, so it's better to remove them to reduce confusion. - Use Rails 3-style validations - Index for `MergeRequest::Metrics#first_deployed_to_production_at` - Only include `CycleAnalyticsHelpers::TestGeneration` for specs that need it. - Other minor refactorings.
2016-09-20Implement review comments from @yorickpeterseTimothy Andrew
1. Change multiple updates to a single `update_all` 2. Use cascading deletes 3. Extract an average function for the database median. 4. Move database median to `lib/gitlab/database` 5. Use `delete_all` instead of `destroy_all` 6. Minor refactoring
2016-09-20Merge remote-tracking branch 'origin/master' into 21170-cycle-analyticsTimothy Andrew
2016-09-19Update support for dynamic environmentsKamil Trzcinski
2016-09-19Verify expandability of variables defined as part of environmentKamil Trzcinski
2016-09-19Add support for dynamic environmentsKamil Trzcinski
Environments that can have a URL with predefined CI variables.
2016-09-19Test all cycle analytics pre-calculation code.Timothy Andrew
All the code that pre-calculates metrics for use in the cycle analytics page. - Ci::Pipeline -> build start/finish - Ci::Pipeline#merge_requests - Issue -> record default metrics after save - MergeRequest -> record default metrics after save - Deployment -> Update "first_deployed_to_production_at" for MR metrics - Git Push -> Update "first commit mention" for issue metrics - Merge request create/update/refresh -> Update "merge requests closing issues"
2016-09-15Improve performance of the cycle analytics page.Timothy Andrew
1. These changes bring down page load time for 100 issues from more than a minute to about 1.5 seconds. 2. This entire commit is composed of these types of performance enhancements: - Cache relevant data in `IssueMetrics` wherever possible. - Cache relevant data in `MergeRequestMetrics` wherever possible. - Preload metrics 3. Given these improvements, we now only need to make 4 SQL calls: - Load all issues - Load all merge requests - Load all metrics for the issues - Load all metrics for the merge requests 4. A list of all the data points that are now being pre-calculated: a. The first time an issue is mentioned in a commit - In `GitPushService`, find all issues mentioned by the given commit using `ReferenceExtractor`. Set the `first_mentioned_in_commit_at` flag for each of them. - There seems to be a (pre-existing) bug here - files (and therefore commits) created using the Web CI don't have cross-references created, and issues are not closed even when the commit title is "Fixes #xx". b. The first time a merge request is deployed to production When a `Deployment` is created, find all merge requests that were merged in before the deployment, and set the `first_deployed_to_production_at` flag for each of them. c. The start / end time for a merge request pipeline Hook into the `Pipeline` state machine. When the `status` moves to `running`, find the merge requests whose tip commit matches the pipeline, and record the `latest_build_started_at` time for each of them. When the `status` moves to `success`, record the `latest_build_finished_at` time. d. The merge requests that close an issue - This was a big cause of the performance problems we were having with Cycle Analytics. We need to use `ReferenceExtractor` to make this calculation, which is slow when we have to run it on a large number of merge requests. - When a merge request is created, updated, or refreshed, find the issues it closes, and create an instance of `MergeRequestsClosingIssues`, which acts as a join model between merge requests and issues. - If a `MergeRequestsClosingIssues` instance links a merge request and an issue, that issue closes that merge request. 5. The `Queries` module was changed into a class, so we can cache the results of `issues` and `merge_requests_closing_issues` across various cycle analytics stages. 6. The code added in this commit is untested. Tests will be added in the next commit.
2016-06-14Improve design after reviewKamil Trzcinski
2016-06-14Add specs for models and servicesKamil Trzcinski
2016-06-11Add deployment viewsKamil Trzcinski
2016-06-11Added initial version of deploymentsKamil Trzcinski