From c311ce331fcfe1c1f1619534eb746245a1deb326 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 16 Oct 2020 03:08:29 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- app/assets/stylesheets/pages/labels.scss | 6 ++ app/controllers/registrations_controller.rb | 2 + app/models/ci/build.rb | 12 +++- app/models/concerns/avatarable.rb | 2 +- app/models/merge_request.rb | 6 ++ .../merge_request_widget_entity.rb | 16 ++++- app/workers/group_export_worker.rb | 2 +- app/workers/group_import_worker.rb | 2 +- app/workers/project_export_worker.rb | 2 +- app/workers/repository_import_worker.rb | 2 +- ...-merge-request-with-changes-to-single-.yml | 5 ++ ...s-browser_ui-1_manage-login-register_s.yml | 5 ++ ...cngo-fix-scoped-label-markdown-padding.yml | 5 ++ .../unreleased/eb-limit-test-cases-parsed.yml | 5 ++ .../unreleased/mk-add-missing-avatar-size.yml | 5 ++ .../development/merge_base_pipelines.yml | 7 +++ doc/.vale/gitlab/Substitutions.yml | 1 + .../geo/replication/datatypes.md | 56 +++++++++--------- .../graphql/reference/gitlab_schema.graphql | 3 +- doc/api/graphql/reference/gitlab_schema.json | 2 +- doc/ci/variables/README.md | 29 +++++----- doc/development/internal_api.md | 2 +- doc/user/gitlab_com/index.md | 1 + .../index.md | 10 ++-- .../lets_encrypt_integration.md | 1 - .../project/pages/getting_started_part_one.md | 9 +-- doc/user/project/pages/introduction.md | 5 +- .../pages/lets_encrypt_for_gitlab_pages.md | 5 +- .../project/pages/pages_access_control.md | 6 +- doc/user/project/pages/redirects.md | 12 ++-- lib/gitlab/ci/parsers/test/junit.rb | 19 ++++-- lib/gitlab/diff/highlight_cache.rb | 4 ++ lib/gitlab/git/diff_collection.rb | 14 +++-- lib/gitlab/gitaly_client/diff_stitcher.rb | 10 +++- locale/gitlab.pot | 5 +- .../registrations_controller_spec.rb | 12 +++- spec/lib/gitlab/ci/parsers/test/junit_spec.rb | 58 +++++++++++++++++-- spec/lib/gitlab/git/diff_collection_spec.rb | 29 ++++++++-- spec/models/merge_request_spec.rb | 19 ++++++ spec/requests/api/users_spec.rb | 44 ++++++++------ .../merge_request_widget_entity_spec.rb | 38 ++++++++++-- spec/workers/group_export_worker_spec.rb | 10 ++++ spec/workers/group_import_worker_spec.rb | 10 ++++ spec/workers/project_export_worker_spec.rb | 4 ++ 44 files changed, 370 insertions(+), 132 deletions(-) create mode 100644 changelogs/unreleased/254823-automatically-expand-file-on-merge-request-with-changes-to-single-.yml create mode 100644 changelogs/unreleased/267498-failed-test-qa-specs-features-browser_ui-1_manage-login-register_s.yml create mode 100644 changelogs/unreleased/cngo-fix-scoped-label-markdown-padding.yml create mode 100644 changelogs/unreleased/eb-limit-test-cases-parsed.yml create mode 100644 changelogs/unreleased/mk-add-missing-avatar-size.yml create mode 100644 config/feature_flags/development/merge_base_pipelines.yml diff --git a/app/assets/stylesheets/pages/labels.scss b/app/assets/stylesheets/pages/labels.scss index 1064baa9e6d..31606cb3ba5 100644 --- a/app/assets/stylesheets/pages/labels.scss +++ b/app/assets/stylesheets/pages/labels.scss @@ -343,3 +343,9 @@ box-shadow: 0 0 0 1px inset; } } + +/* Fix scoped label padding in cases where old markdown uses the old label structure */ +.gl-label-text + .gl-label-text { + @include gl-pl-2; + @include gl-pr-3; +} diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb index 4da6e8ea1ae..b3dc0e986f4 100644 --- a/app/controllers/registrations_controller.rb +++ b/app/controllers/registrations_controller.rb @@ -58,6 +58,8 @@ class RegistrationsController < Devise::RegistrationsController end def update_registration + return redirect_to new_user_registration_path unless current_user + user_params = params.require(:user).permit(:role, :setup_for_company) result = ::Users::SignupService.new(current_user, user_params).execute diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 42f326d40dc..9ff70ece947 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -898,7 +898,11 @@ module Ci def collect_test_reports!(test_reports) test_reports.get_suite(group_name).tap do |test_suite| each_report(Ci::JobArtifact::TEST_REPORT_FILE_TYPES) do |file_type, blob| - Gitlab::Ci::Parsers.fabricate!(file_type).parse!(blob, test_suite, job: self) + Gitlab::Ci::Parsers.fabricate!(file_type).parse!( + blob, + test_suite, + job: self + ) end end end @@ -964,6 +968,12 @@ module Ci status_commit_hooks.push(block) end + def max_test_cases_per_report + # NOTE: This is temporary and will be replaced later by a value + # that would come from an actual application limit. + ::Gitlab.com? ? 500_000 : 0 + end + protected def run_status_commit_hooks! diff --git a/app/models/concerns/avatarable.rb b/app/models/concerns/avatarable.rb index 92926620f8c..d342b526677 100644 --- a/app/models/concerns/avatarable.rb +++ b/app/models/concerns/avatarable.rb @@ -3,7 +3,7 @@ module Avatarable extend ActiveSupport::Concern - USER_AVATAR_SIZES = [16, 20, 23, 24, 26, 32, 36, 38, 40, 48, 60, 64, 96, 120, 160].freeze + USER_AVATAR_SIZES = [16, 20, 23, 24, 26, 32, 36, 38, 40, 48, 60, 64, 90, 96, 120, 160].freeze PROJECT_AVATAR_SIZES = [15, 40, 48, 64, 88].freeze GROUP_AVATAR_SIZES = [15, 37, 38, 39, 40, 64, 96].freeze diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 22c6777fca3..ed53676ea97 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -1599,6 +1599,12 @@ class MergeRequest < ApplicationRecord .find_by(sha: diff_base_sha, ref: target_branch) end + def merge_base_pipeline + @merge_base_pipeline ||= project.ci_pipelines + .order(id: :desc) + .find_by(sha: actual_head_pipeline.target_sha, ref: target_branch) + end + def discussions_rendered_on_frontend? true end diff --git a/app/serializers/merge_request_widget_entity.rb b/app/serializers/merge_request_widget_entity.rb index 7cd25c55b42..4567a188bd8 100644 --- a/app/serializers/merge_request_widget_entity.rb +++ b/app/serializers/merge_request_widget_entity.rb @@ -120,7 +120,11 @@ class MergeRequestWidgetEntity < Grape::Entity end expose :base_path do |merge_request| - base_pipeline_downloadable_path_for_report_type(:codequality) + if use_merge_base_with_merged_results? + merge_base_pipeline_downloadable_path_for_report_type(:codequality) + else + base_pipeline_downloadable_path_for_report_type(:codequality) + end end end @@ -156,6 +160,16 @@ class MergeRequestWidgetEntity < Grape::Entity object.base_pipeline&.present(current_user: current_user) &.downloadable_path_for_report_type(file_type) end + + def use_merge_base_with_merged_results? + Feature.enabled?(:merge_base_pipelines, object.target_project) && + object.actual_head_pipeline&.merge_request_event_type == :merged_result + end + + def merge_base_pipeline_downloadable_path_for_report_type(file_type) + object.merge_base_pipeline&.present(current_user: current_user) + &.downloadable_path_for_report_type(file_type) + end end MergeRequestWidgetEntity.prepend_if_ee('EE::MergeRequestWidgetEntity') diff --git a/app/workers/group_export_worker.rb b/app/workers/group_export_worker.rb index e22b691d35e..a212147d8fd 100644 --- a/app/workers/group_export_worker.rb +++ b/app/workers/group_export_worker.rb @@ -6,7 +6,7 @@ class GroupExportWorker # rubocop:disable Scalability/IdempotentWorker feature_category :importers loggable_arguments 2 - sidekiq_options retry: false + sidekiq_options retry: false, dead: false def perform(current_user_id, group_id, params = {}) current_user = User.find(current_user_id) diff --git a/app/workers/group_import_worker.rb b/app/workers/group_import_worker.rb index 494d9a3e46f..b8b596f459b 100644 --- a/app/workers/group_import_worker.rb +++ b/app/workers/group_import_worker.rb @@ -3,7 +3,7 @@ class GroupImportWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker - sidekiq_options retry: false + sidekiq_options retry: false, dead: false feature_category :importers def perform(user_id, group_id) diff --git a/app/workers/project_export_worker.rb b/app/workers/project_export_worker.rb index 6c8640138a1..1c4aa3f7e49 100644 --- a/app/workers/project_export_worker.rb +++ b/app/workers/project_export_worker.rb @@ -8,7 +8,7 @@ class ProjectExportWorker # rubocop:disable Scalability/IdempotentWorker worker_resource_boundary :memory urgency :throttled loggable_arguments 2, 3 - sidekiq_options retry: false + sidekiq_options retry: false, dead: false sidekiq_options status_expiration: StuckExportJobsWorker::EXPORT_JOBS_EXPIRATION def perform(current_user_id, project_id, after_export_strategy = {}, params = {}) diff --git a/app/workers/repository_import_worker.rb b/app/workers/repository_import_worker.rb index 85f1a1fa767..51fe60e25fc 100644 --- a/app/workers/repository_import_worker.rb +++ b/app/workers/repository_import_worker.rb @@ -8,7 +8,7 @@ class RepositoryImportWorker # rubocop:disable Scalability/IdempotentWorker feature_category :importers worker_has_external_dependencies! # Do not retry on Import/Export until https://gitlab.com/gitlab-org/gitlab/-/issues/16812 is solved. - sidekiq_options retry: false + sidekiq_options retry: false, dead: false sidekiq_options status_expiration: Gitlab::Import::StuckImportJob::IMPORT_JOBS_EXPIRATION # technical debt: https://gitlab.com/gitlab-org/gitlab/issues/33991 diff --git a/changelogs/unreleased/254823-automatically-expand-file-on-merge-request-with-changes-to-single-.yml b/changelogs/unreleased/254823-automatically-expand-file-on-merge-request-with-changes-to-single-.yml new file mode 100644 index 00000000000..42a1d7c6847 --- /dev/null +++ b/changelogs/unreleased/254823-automatically-expand-file-on-merge-request-with-changes-to-single-.yml @@ -0,0 +1,5 @@ +--- +title: Automatically expand diffs for merge requests with changes to a single file +merge_request: 44629 +author: +type: changed diff --git a/changelogs/unreleased/267498-failed-test-qa-specs-features-browser_ui-1_manage-login-register_s.yml b/changelogs/unreleased/267498-failed-test-qa-specs-features-browser_ui-1_manage-login-register_s.yml new file mode 100644 index 00000000000..bcdf1cae2af --- /dev/null +++ b/changelogs/unreleased/267498-failed-test-qa-specs-features-browser_ui-1_manage-login-register_s.yml @@ -0,0 +1,5 @@ +--- +title: Redirect when no user is signed in when updating registration +merge_request: 45276 +author: +type: fixed diff --git a/changelogs/unreleased/cngo-fix-scoped-label-markdown-padding.yml b/changelogs/unreleased/cngo-fix-scoped-label-markdown-padding.yml new file mode 100644 index 00000000000..0aa6a468e3f --- /dev/null +++ b/changelogs/unreleased/cngo-fix-scoped-label-markdown-padding.yml @@ -0,0 +1,5 @@ +--- +title: Fix scoped label markdown padding +merge_request: 45153 +author: +type: fixed diff --git a/changelogs/unreleased/eb-limit-test-cases-parsed.yml b/changelogs/unreleased/eb-limit-test-cases-parsed.yml new file mode 100644 index 00000000000..59a9e611d4b --- /dev/null +++ b/changelogs/unreleased/eb-limit-test-cases-parsed.yml @@ -0,0 +1,5 @@ +--- +title: Add limit to number of test cases parsed by JUnit parser +merge_request: 44615 +author: +type: changed diff --git a/changelogs/unreleased/mk-add-missing-avatar-size.yml b/changelogs/unreleased/mk-add-missing-avatar-size.yml new file mode 100644 index 00000000000..8b587ee0004 --- /dev/null +++ b/changelogs/unreleased/mk-add-missing-avatar-size.yml @@ -0,0 +1,5 @@ +--- +title: Add missing 90x avatar size for image scaling +merge_request: 45025 +author: +type: fixed diff --git a/config/feature_flags/development/merge_base_pipelines.yml b/config/feature_flags/development/merge_base_pipelines.yml new file mode 100644 index 00000000000..4f57ca556f1 --- /dev/null +++ b/config/feature_flags/development/merge_base_pipelines.yml @@ -0,0 +1,7 @@ +--- +name: merge_base_pipelines +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44648 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263724 +type: development +group: group::testing +default_enabled: false diff --git a/doc/.vale/gitlab/Substitutions.yml b/doc/.vale/gitlab/Substitutions.yml index 77536ea0b33..704c64f1fbd 100644 --- a/doc/.vale/gitlab/Substitutions.yml +++ b/doc/.vale/gitlab/Substitutions.yml @@ -13,6 +13,7 @@ ignorecase: true swap: frontmatter: front matter GitLabber: GitLab team member + GitLab-shell: GitLab Shell gitlab omnibus: Omnibus GitLab param: parameter params: parameters diff --git a/doc/administration/geo/replication/datatypes.md b/doc/administration/geo/replication/datatypes.md index 95d004203f8..d1fa2d503be 100644 --- a/doc/administration/geo/replication/datatypes.md +++ b/doc/administration/geo/replication/datatypes.md @@ -23,32 +23,34 @@ We currently distinguish between three different data types: See the list below of each feature or component we replicate, its corresponding data type, replication, and verification methods: -| Type | Feature / component | Replication method | Verification method | -|:---------|:----------------------------------------------|:--------------------------------------|:-----------------------| -| Database | Application data in PostgreSQL | Native | Native | -| Database | Redis | _N/A_ (*1*) | _N/A_ | -| Database | Elasticsearch | Native | Native | -| Database | Personal snippets | PostgreSQL Replication | PostgreSQL Replication | -| Database | Project snippets | PostgreSQL Replication | PostgreSQL Replication | -| Database | SSH public keys | PostgreSQL Replication | PostgreSQL Replication | -| Git | Project repository | Geo with Gitaly | Gitaly Checksum | -| Git | Project wiki repository | Geo with Gitaly | Gitaly Checksum | -| Git | Project designs repository | Geo with Gitaly | Gitaly Checksum | -| Git | Object pools for forked project deduplication | Geo with Gitaly | _Not implemented_ | -| Blobs | User uploads _(filesystem)_ | Geo with API | _Not implemented_ | -| Blobs | User uploads _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | -| Blobs | LFS objects _(filesystem)_ | Geo with API | _Not implemented_ | -| Blobs | LFS objects _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | -| Blobs | CI job artifacts _(filesystem)_ | Geo with API | _Not implemented_ | -| Blobs | CI job artifacts _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | -| Blobs | Archived CI build traces _(filesystem)_ | Geo with API | _Not implemented_ | -| Blobs | Archived CI build traces _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | -| Blobs | Container registry _(filesystem)_ | Geo with API/Docker API | _Not implemented_ | -| Blobs | Container registry _(object storage)_ | Geo with API/Managed/Docker API (*2*) | _Not implemented_ | -| Blobs | Package registry _(filesystem)_ | Geo with API | _Not implemented_ | -| Blobs | Package registry _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | -| Blobs | Versioned Terraform State _(filesystem)_ | Geo with API | _Not implemented_ | -| Blobs | Versioned Terraform State _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | +| Type | Feature / component | Replication method | Verification method | +|:---------|:------------------------------------------------|:--------------------------------------|:-----------------------| +| Database | Application data in PostgreSQL | Native | Native | +| Database | Redis | _N/A_ (*1*) | _N/A_ | +| Database | Elasticsearch | Native | Native | +| Database | Personal snippets | PostgreSQL Replication | PostgreSQL Replication | +| Database | Project snippets | PostgreSQL Replication | PostgreSQL Replication | +| Database | SSH public keys | PostgreSQL Replication | PostgreSQL Replication | +| Git | Project repository | Geo with Gitaly | Gitaly Checksum | +| Git | Project wiki repository | Geo with Gitaly | Gitaly Checksum | +| Git | Project designs repository | Geo with Gitaly | Gitaly Checksum | +| Git | Object pools for forked project deduplication | Geo with Gitaly | _Not implemented_ | +| Blobs | User uploads _(filesystem)_ | Geo with API | _Not implemented_ | +| Blobs | User uploads _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | +| Blobs | LFS objects _(filesystem)_ | Geo with API | _Not implemented_ | +| Blobs | LFS objects _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | +| Blobs | CI job artifacts _(filesystem)_ | Geo with API | _Not implemented_ | +| Blobs | CI job artifacts _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | +| Blobs | Archived CI build traces _(filesystem)_ | Geo with API | _Not implemented_ | +| Blobs | Archived CI build traces _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | +| Blobs | Container registry _(filesystem)_ | Geo with API/Docker API | _Not implemented_ | +| Blobs | Container registry _(object storage)_ | Geo with API/Managed/Docker API (*2*) | _Not implemented_ | +| Blobs | Package registry _(filesystem)_ | Geo with API | _Not implemented_ | +| Blobs | Package registry _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | +| Blobs | Versioned Terraform State _(filesystem)_ | Geo with API | _Not implemented_ | +| Blobs | Versioned Terraform State _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | +| Blobs | External Merge Request Diffs _(filesystem)_ | Geo with API | _Not implemented_ | +| Blobs | External Merge Request Diffs _(object storage)_ | Geo with API/Managed (*2*) | _Not implemented_ | - (*1*): Redis replication can be used as part of HA with Redis sentinel. It's not used between Geo nodes. - (*2*): Object storage replication can be performed by Geo or by your object storage provider/appliance @@ -185,7 +187,7 @@ successfully, you must replicate their data using some other means. | [Composer Repository](../../../user/packages/composer_repository/index.md) | **Yes** (13.2) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default | | [Generic packages](../../../user/packages/generic_packages/index.md) | **Yes** (13.5) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1817) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_package_file_replication`, enabled by default | | [Versioned Terraform State](../../terraform_state.md) | **Yes** (13.5) | No | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_terraform_state_version_replication`, enabled by default | -| [External merge request diffs](../../merge_request_diffs.md) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/33817) | No | Via Object Storage provider if supported. Native Geo support (Beta). | | +| [External merge request diffs](../../merge_request_diffs.md) | **Yes** (13.5) | No | Behind feature flag `geo_merge_request_diff_replication`, enabled by default | | | [Versioned snippets](../../../user/snippets.md#versioned-snippets) | [No](https://gitlab.com/groups/gitlab-org/-/epics/2809) | [No](https://gitlab.com/groups/gitlab-org/-/epics/2810) | No | | | [Server-side Git hooks](../../server_hooks.md) | [No](https://gitlab.com/groups/gitlab-org/-/epics/1867) | No | No | | | [Elasticsearch integration](../../../integration/elasticsearch.md) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/1186) | No | No | | diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql index 981cd8cda15..939dcf43c63 100644 --- a/doc/api/graphql/reference/gitlab_schema.graphql +++ b/doc/api/graphql/reference/gitlab_schema.graphql @@ -7284,8 +7284,7 @@ type GeoNode { internalUrl: String """ - Find merge request diff registries on this Geo node. Available only when - feature flag `geo_merge_request_diff_replication` is enabled + Find merge request diff registries on this Geo node """ mergeRequestDiffRegistries( """ diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json index 21ac1006be6..ff2d58a0483 100644 --- a/doc/api/graphql/reference/gitlab_schema.json +++ b/doc/api/graphql/reference/gitlab_schema.json @@ -20066,7 +20066,7 @@ }, { "name": "mergeRequestDiffRegistries", - "description": "Find merge request diff registries on this Geo node. Available only when feature flag `geo_merge_request_diff_replication` is enabled", + "description": "Find merge request diff registries on this Geo node", "args": [ { "name": "ids", diff --git a/doc/ci/variables/README.md b/doc/ci/variables/README.md index 28502967c31..9c8fb994bf7 100644 --- a/doc/ci/variables/README.md +++ b/doc/ci/variables/README.md @@ -410,10 +410,12 @@ script: > Introduced in GitLab 9.4. -You can define per-project or per-group variables -that are set in the pipeline environment. Group-level variables are stored out of -the repository (not in `.gitlab-ci.yml`) and are securely passed to GitLab Runner, -which makes them available during a pipeline run. For Premium users who do **not** use an external key store or who use GitLab's [integration with HashiCorp Vault](../secrets/index.md), we recommend using group environment variables to store secrets like passwords, SSH keys, and credentials. +You can define per-project or per-group variables that are set in the pipeline environment. Group-level variables are stored out of the repository (not in `.gitlab-ci.yml`). They are securely passed to GitLab Runner, which makes them available during a pipeline run. + +We recommend using group environment variables to store secrets (like passwords, SSH keys, and credentials) for Premium users who: + +- Do **not** use an external key store. +- Use GitLab's [integration with HashiCorp Vault](../secrets/index.md). Group-level variables can be added by: @@ -547,8 +549,7 @@ variables take precedence over those defined in `.gitlab-ci.yml`. Variable names are limited by the underlying shell used to execute scripts (see [available shells](https://docs.gitlab.com/runner/shells/index.html). Each shell has its own unique set of reserved variable names. -You also want to keep in mind the [scope of environment variables](where_variables_can_be_used.md) to ensure a variable is defined in the scope -in which you wish to use it. +Keep in mind the [scope of environment variables](where_variables_can_be_used.md) to ensure a variable is defined in the scope in which you wish to use it. ## Where variables can be used @@ -682,9 +683,10 @@ Examples: - `$VARIABLE == ""` - `$VARIABLE != ""` (introduced in GitLab 11.11) -If you want to check whether a variable is defined, but is empty, you can -simply compare it against an empty string, like `$VAR == ''` or non-empty -string `$VARIABLE != ""`. +To check if a variable is defined but empty, compare it to: + +- An empty string: `$VARIABLE == ''` +- A non-empty string: `$VARIABLE != ""` #### Comparing two variables @@ -700,9 +702,8 @@ of these variables. Example: `$STAGING` -If you only want to create a job when there is some variable present, -which means that it is defined and non-empty, you can simply use -variable name as an expression, like `$STAGING`. If `$STAGING` variable +To create a job when there is some variable present, meaning it is defined and non-empty, +use the variable name as an expression, like `$STAGING`. If the `$STAGING` variable is defined, and is non empty, expression evaluates to `true`. `$STAGING` value needs to be a string, with length higher than zero. Variable that contains only whitespace characters is not an empty variable. @@ -836,9 +837,7 @@ from being leaked into the log unless your script writes them to the screen. If a job isn't working as expected, this can make the problem difficult to investigate; in these cases, you can enable debug tracing in `.gitlab-ci.yml`. -Available on GitLab Runner v1.7+, this feature enables the shell's execution -log, resulting in a verbose job log listing all commands that were run, -variables that were set, and so on. +Available on GitLab Runner v1.7+, this feature enables the shell's execution log. This results in a verbose job log listing all commands that were run, variables that were set, and so on. Before enabling this, you should ensure jobs are visible to [team members only](../../user/permissions.md#project-features). You should diff --git a/doc/development/internal_api.md b/doc/development/internal_api.md index 5e74be9e439..e25feda356d 100644 --- a/doc/development/internal_api.md +++ b/doc/development/internal_api.md @@ -52,7 +52,7 @@ POST /internal/allowed | `username` | string | no | Username from the certificate used to connect to GitLab Shell | | `project` | string | no (if `gl_repository` is passed) | Path to the project | | `gl_repository` | string | no (if `project` is passed) | Repository identifier (e.g. `project-7`) | -| `protocol` | string | yes | SSH when called from GitLab-shell, HTTP or SSH when called from Gitaly | +| `protocol` | string | yes | SSH when called from GitLab Shell, HTTP or SSH when called from Gitaly | | `action` | string | yes | Git command being run (`git-upload-pack`, `git-receive-pack`, `git-upload-archive`) | | `changes` | string | yes | ` ` when called from Gitaly, the magic string `_any` when called from GitLab Shell | | `check_ip` | string | no | IP address from which call to GitLab Shell was made | diff --git a/doc/user/gitlab_com/index.md b/doc/user/gitlab_com/index.md index e2b5dfe25d7..43cfdc78f5b 100644 --- a/doc/user/gitlab_com/index.md +++ b/doc/user/gitlab_com/index.md @@ -96,6 +96,7 @@ Below are the current settings regarding [GitLab CI/CD](../../ci/README.md). | [Max pipeline schedules in projects](../../administration/instance_limits.md#number-of-pipeline-schedules) | `10` for Free tier, `50` for all paid tiers | Unlimited | | [Max number of instance level variables](../../administration/instance_limits.md#number-of-instance-level-variables) | `25` | `25` | | [Scheduled Job Archival](../../user/admin_area/settings/continuous_integration.md#archive-jobs) | 3 months | Never | +| Max test cases per [unit test report](../../ci/unit_test_reports.md) | `500_000` | Unlimited | ## Account and limit settings diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md index badafa478ef..9b43dd58afe 100644 --- a/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md +++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md @@ -61,7 +61,6 @@ according to the type of domain you want to use with your Pages site: - [For subdomains](#for-subdomains), `subdomain.example.com`. - [For both](#for-both-root-and-subdomains). -NOTE: **Note:** You can [configure IPv6 on self-managed instances](../../../../administration/pages/index.md#advanced-configuration), but IPv6 is not currently configured for Pages on GitLab.com. Follow [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/214718) for details. @@ -250,8 +249,8 @@ You can use any certificate satisfying the following requirements: - **A private key**, it's an encrypted key which validates your PEM against your domain. -NOTE: **Note:** -[Cloudflare certificates](https://about.gitlab.com/blog/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/), for example, meet these requirements. +For example, [Cloudflare certificates](https://about.gitlab.com/blog/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/) +meet these requirements. #### Steps @@ -269,7 +268,6 @@ NOTE: **Note:** just jumping a line between them. 1. Copy your private key and paste it in the last field. -NOTE: **Note:** **Do not** open certificates or encryption keys in regular text editors. Always use code editors (such as Sublime Text, Atom, Dreamweaver, Brackets, etc). @@ -290,8 +288,8 @@ To enable this setting: 1. Navigate to your project's **Settings > Pages**. 1. Tick the checkbox **Force HTTPS (requires valid certificates)**. -NOTE: **Note:** -If you use Cloudflare CDN in front of GitLab Pages, make sure to set the SSL connection setting to `full` instead of `flexible`. For more details, see the [Cloudflare CDN directions](https://support.cloudflare.com/hc/en-us/articles/200170416-End-to-end-HTTPS-with-Cloudflare-Part-3-SSL-options#h_4e0d1a7c-eb71-4204-9e22-9d3ef9ef7fef). +If you use Cloudflare CDN in front of GitLab Pages, make sure to set the SSL connection setting to +`full` instead of `flexible`. For more details, see the [Cloudflare CDN directions](https://support.cloudflare.com/hc/en-us/articles/200170416-End-to-end-HTTPS-with-Cloudflare-Part-3-SSL-options#h_4e0d1a7c-eb71-4204-9e22-9d3ef9ef7fef).