diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-11 06:07:45 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-11 06:07:45 +0000 |
commit | bac547dc784170c7d0e6a5ae14d0ff5d549c31ee (patch) | |
tree | 058a42678ff6f979a45c150c1be23974bce07443 | |
parent | 7873bb3c1a2870761c243ea4ebe96f249ad5a319 (diff) | |
download | gitlab-ce-bac547dc784170c7d0e6a5ae14d0ff5d549c31ee.tar.gz |
Add latest changes from gitlab-org/gitlab@master
-rw-r--r-- | doc/user/project/merge_requests/code_quality.md | 40 | ||||
-rw-r--r-- | qa/qa/page/layout/performance_bar.rb | 2 | ||||
-rw-r--r-- | qa/qa/specs/features/browser_ui/non_devops/performance_bar_spec.rb | 45 |
3 files changed, 66 insertions, 21 deletions
diff --git a/doc/user/project/merge_requests/code_quality.md b/doc/user/project/merge_requests/code_quality.md index 69bdfe10e3f..9d44f416696 100644 --- a/doc/user/project/merge_requests/code_quality.md +++ b/doc/user/project/merge_requests/code_quality.md @@ -66,6 +66,19 @@ will scan your source code for code quality issues. The report will be saved as that you can later download and analyze. Due to implementation limitations we always take the latest Code Quality artifact available. +It is also possible to override the URL to the Code Quality image by +setting the `CODE_QUALITY_IMAGE` variable. This is particularly useful if you want +to lock in a specific version of Code Quality, or use a fork of it: + +```yaml +include: + - template: Code-Quality.gitlab-ci.yml + +code_quality: + variables: + CODE_QUALITY_IMAGE: "registry.example.com/codequality-fork:latest" +``` + By default, report artifacts are not downloadable. If you need them downloadable on the job details page, you can add `gl-code-quality-report.json` to the artifact paths like so: @@ -125,6 +138,33 @@ code_quality: codequality: gl-code-quality-report.json ``` +In GitLab 12.6, Code Quality switched to the +[new versioning scheme](https://gitlab.com/gitlab-org/security-products/codequality/merge_requests/38). +It is highly recommended to include the Code Quality template as shown in the +[example configuration](#example-configuration), which uses the new versioning scheme. +If not using the template, the `SP_VERSION` variable can be hardcoded to use the +new image versions: + +```yaml +code_quality: + image: docker:stable + variables: + DOCKER_DRIVER: overlay2 + SP_VERSION: 0.85.6 + allow_failure: true + services: + - docker:stable-dind + script: + - docker run + --env SOURCE_CODE="$PWD" + --volume "$PWD":/code + --volume /var/run/docker.sock:/var/run/docker.sock + "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code + artifacts: + reports: + codequality: gl-code-quality-report.json +``` + For GitLab 11.4 and earlier, the job should look like: ```yaml diff --git a/qa/qa/page/layout/performance_bar.rb b/qa/qa/page/layout/performance_bar.rb index b35c37fdc34..4e144e67f12 100644 --- a/qa/qa/page/layout/performance_bar.rb +++ b/qa/qa/page/layout/performance_bar.rb @@ -21,7 +21,7 @@ module QA has_element?(:performance_bar) end - def has_detailed_metrics? + def has_detailed_metrics?(count) retry_until(sleep_interval: 1) do all_elements(:detailed_metric_content, count: count).all? do |metric| metric.has_text?(%r{\d+}) diff --git a/qa/qa/specs/features/browser_ui/non_devops/performance_bar_spec.rb b/qa/qa/specs/features/browser_ui/non_devops/performance_bar_spec.rb index d78ad6d86d3..a74aa32fabc 100644 --- a/qa/qa/specs/features/browser_ui/non_devops/performance_bar_spec.rb +++ b/qa/qa/specs/features/browser_ui/non_devops/performance_bar_spec.rb @@ -1,31 +1,36 @@ # frozen_string_literal: true module QA - context 'Performance bar' do - context 'when logged in as an admin user', :requires_admin, quarantine: 'https://gitlab.com/gitlab-org/gitlab/issues/196141' do - before do - Flow::Login.sign_in_as_admin - Page::Main::Menu.perform(&:go_to_admin_area) - Page::Admin::Menu.perform(&:go_to_metrics_and_profiling_settings) + context 'Non-devops' do + describe 'Performance bar display', :requires_admin, quarantine: 'https://gitlab.com/gitlab-org/gitlab/issues/196141' do + context 'when logged in as an admin user' do + # 4 metrics: pg, gitaly, redis, total + let(:metrics_count) { 4 } - Page::Admin::Settings::MetricsAndProfiling.perform do |setting| - setting.expand_performance_bar do |page| - page.enable_performance_bar - page.save_settings + before do + Flow::Login.sign_in_as_admin + Page::Main::Menu.perform(&:go_to_admin_area) + Page::Admin::Menu.perform(&:go_to_metrics_and_profiling_settings) + + Page::Admin::Settings::MetricsAndProfiling.perform do |setting| + setting.expand_performance_bar do |page| + page.enable_performance_bar + page.save_settings + end end end - end - it 'shows results for the original request and AJAX requests' do - # Issue pages always make AJAX requests - Resource::Issue.fabricate_via_browser_ui! do |issue| - issue.title = 'Performance bar test' - end + it 'shows results for the original request and AJAX requests' do + # Issue pages always make AJAX requests + Resource::Issue.fabricate_via_browser_ui! do |issue| + issue.title = 'Performance bar test' + end - Page::Layout::PerformanceBar.perform do |bar_component| - expect(bar_component).to have_performance_bar - expect(bar_component).to have_detailed_metrics(4) - expect(bar_component).to have_request_for('realtime_changes') # Always requested on issue pages + Page::Layout::PerformanceBar.perform do |bar_component| + expect(bar_component).to have_performance_bar + expect(bar_component).to have_detailed_metrics(metrics_count) + expect(bar_component).to have_request_for('realtime_changes') # Always requested on issue pages + end end end end |