diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-12-19 06:21:36 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-12-19 06:21:36 +0300 |
commit | eba7329faa534bc0ea9332e3278f2a74f61a79dc (patch) | |
tree | 39b4d3d4b8d77ebb6766e689d8b9210f0ea643d1 | |
parent | f3b2c536778dcd0981134c702d97c6e4047b64d4 (diff) |
Add latest changes from gitlab-org/gitlab@master
56 files changed, 147 insertions, 119 deletions
diff --git a/.gitlab/merge_request_templates/Default.md b/.gitlab/merge_request_templates/Default.md index 3cb3f6473e6..a396d375ba1 100644 --- a/.gitlab/merge_request_templates/Default.md +++ b/.gitlab/merge_request_templates/Default.md @@ -10,6 +10,11 @@ especially important if they didn't participate in the discussion. %{first_multiline_commit} +## MR acceptance checklist + +**Please evaluate this MR against the [MR acceptance checklist](https://docs.gitlab.com/ee/development/code_review.html#acceptance-checklist).** +It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability. + ## Screenshots or screen recordings _Screenshots are required for UI changes, and strongly recommended for all other merge requests._ @@ -39,12 +44,6 @@ Example below: 1. Click the `invite members` button. --> -## MR acceptance checklist - -This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability. - -* [ ] I have evaluated the [MR acceptance checklist](https://docs.gitlab.com/ee/development/code_review.html#acceptance-checklist) for this MR. - <!-- template sourced from https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/merge_request_templates/Default.md --> /assign me diff --git a/.gitlab/merge_request_templates/New Version of gitlab-styles.md b/.gitlab/merge_request_templates/New Version of gitlab-styles.md index 85603f6a944..fa0eecc0e9d 100644 --- a/.gitlab/merge_request_templates/New Version of gitlab-styles.md +++ b/.gitlab/merge_request_templates/New Version of gitlab-styles.md @@ -37,9 +37,8 @@ This MR can be reused to upgrade `gitlab-styles` in this project after a new ver ## MR acceptance checklist -This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability. - -- [ ] I have evaluated the [MR acceptance checklist](https://docs.gitlab.com/ee/development/code_review.html#acceptance-checklist) for this MR. +**Please evaluate this MR against the [MR acceptance checklist](https://docs.gitlab.com/ee/development/code_review.html#acceptance-checklist).** +It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability. ## After merge diff --git a/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue b/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue index b5042936b1e..cafac061c12 100644 --- a/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue +++ b/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue @@ -159,7 +159,7 @@ export default { search: { deep: true, handler() { - // TODO Implement back button reponse using onpopstate + // TODO Implement back button response using onpopstate // See https://gitlab.com/gitlab-org/gitlab/-/issues/333804 updateHistory({ url: fromSearchToUrl(this.search), diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb index e931d95d38a..2f042ea6417 100644 --- a/app/helpers/merge_requests_helper.rb +++ b/app/helpers/merge_requests_helper.rb @@ -279,7 +279,7 @@ module MergeRequestsHelper target_branch = link_to merge_request.target_branch, project_tree_path(merge_request.target_project, merge_request.target_branch), title: merge_request.target_branch, class: 'ref-container gl-display-inline-block gl-text-truncate gl-max-w-26 gl-mx-2' - safe_format('%{author} • %{source_branch} %{copy_button} ➔ %{target_branch} %{created_at}', author: link_to_author, source_branch: merge_request_source_branch(merge_request), copy_button: copy_button, target_branch: target_branch, created_at: time_ago_with_tooltip(merge_request.created_at, html_class: 'gl-display-inline-block')) + _('%{author} requested to merge %{source_branch} %{copy_button} into %{target_branch} %{created_at}').html_safe % { author: link_to_author.html_safe, source_branch: merge_request_source_branch(merge_request).html_safe, copy_button: copy_button.html_safe, target_branch: target_branch.html_safe, created_at: time_ago_with_tooltip(merge_request.created_at, html_class: 'gl-display-inline-block').html_safe } end def sticky_header_data diff --git a/app/models/container_repository.rb b/app/models/container_repository.rb index 6bcfd23e69c..4df92235f50 100644 --- a/app/models/container_repository.rb +++ b/app/models/container_repository.rb @@ -618,12 +618,11 @@ class ContainerRepository < ApplicationRecord self.new(project: path.repository_project, name: path.repository_name) end - def self.find_or_create_from_path(path) - repository = safe_find_or_create_by( - project: path.repository_project, + def self.find_or_create_from_path!(path) + ContainerRepository.upsert({ + project_id: path.repository_project.id, name: path.repository_name - ) - return repository if repository.persisted? + }, unique_by: %i[project_id name]) find_by_path!(path) end diff --git a/app/services/auth/container_registry_authentication_service.rb b/app/services/auth/container_registry_authentication_service.rb index 7d473f9ed89..f515fdede29 100644 --- a/app/services/auth/container_registry_authentication_service.rb +++ b/app/services/auth/container_registry_authentication_service.rb @@ -231,7 +231,7 @@ module Auth return if path.has_repository? return unless actions.include?('push') - ContainerRepository.find_or_create_from_path(path) + ContainerRepository.find_or_create_from_path!(path) end # Overridden in EE diff --git a/app/services/import/gitlab_projects/create_project_service.rb b/app/services/import/gitlab_projects/create_project_service.rb index 1613c4dde25..dc0f24df0cb 100644 --- a/app/services/import/gitlab_projects/create_project_service.rb +++ b/app/services/import/gitlab_projects/create_project_service.rb @@ -25,7 +25,7 @@ module Import # Creates a project with the strategy parameters # - # @return [Services::ServiceReponse] + # @return [Services::ServiceResponse] def execute return error(errors.full_messages) unless valid? return error(project.errors.full_messages) unless project.saved? diff --git a/app/views/projects/merge_requests/_code_dropdown.html.haml b/app/views/projects/merge_requests/_code_dropdown.html.haml index 50f4e313bc5..bfa33f26453 100644 --- a/app/views/projects/merge_requests/_code_dropdown.html.haml +++ b/app/views/projects/merge_requests/_code_dropdown.html.haml @@ -1,6 +1,6 @@ .gl-md-ml-3.dropdown.gl-dropdown{ class: "gl-display-none! gl-md-display-flex!" } #js-check-out-modal{ data: how_merge_modal_data(@merge_request) } - = button_tag type: 'button', class: "btn dropdown-toggle btn-confirm-secondary gl-button gl-dropdown-toggle", data: { toggle: 'dropdown', testid: 'mr-code-dropdown' } do + = button_tag type: 'button', class: "btn dropdown-toggle btn-confirm gl-button gl-dropdown-toggle", data: { toggle: 'dropdown', testid: 'mr-code-dropdown' } do %span.gl-dropdown-button-text= _('Code') = sprite_icon "chevron-down", size: 16, css_class: "dropdown-icon gl-icon gl-ml-2 gl-mr-0!" .dropdown-menu.dropdown-menu-right diff --git a/app/workers/concerns/gitlab/github_import/object_importer.rb b/app/workers/concerns/gitlab/github_import/object_importer.rb index 046d9ed49e1..15156e1deef 100644 --- a/app/workers/concerns/gitlab/github_import/object_importer.rb +++ b/app/workers/concerns/gitlab/github_import/object_importer.rb @@ -16,6 +16,7 @@ module Gitlab feature_category :importers worker_has_external_dependencies! + sidekiq_options retry: 5 sidekiq_retries_exhausted do |msg| args = msg['args'] jid = msg['jid'] diff --git a/app/workers/concerns/gitlab/github_import/queue.rb b/app/workers/concerns/gitlab/github_import/queue.rb index 7cc23dd7c0b..5aabc74a3d5 100644 --- a/app/workers/concerns/gitlab/github_import/queue.rb +++ b/app/workers/concerns/gitlab/github_import/queue.rb @@ -14,7 +14,7 @@ module Gitlab # the dead queue. This does mean some resources may not be imported, but # this is better than a project being stuck in the "import" state # forever. - sidekiq_options dead: false, retry: 5 + sidekiq_options dead: false end end end diff --git a/app/workers/concerns/gitlab/github_import/stage_methods.rb b/app/workers/concerns/gitlab/github_import/stage_methods.rb index bc0114e199f..5f6812ab84f 100644 --- a/app/workers/concerns/gitlab/github_import/stage_methods.rb +++ b/app/workers/concerns/gitlab/github_import/stage_methods.rb @@ -9,6 +9,9 @@ module Gitlab included do include ApplicationWorker + include GithubImport::Queue + + sidekiq_options retry: 6 sidekiq_options status_expiration: Gitlab::Import::StuckImportJob::IMPORT_JOBS_EXPIRATION diff --git a/app/workers/gitlab/github_import/advance_stage_worker.rb b/app/workers/gitlab/github_import/advance_stage_worker.rb index a012241e90c..417b8598547 100644 --- a/app/workers/gitlab/github_import/advance_stage_worker.rb +++ b/app/workers/gitlab/github_import/advance_stage_worker.rb @@ -11,12 +11,15 @@ module Gitlab data_consistency :always - sidekiq_options retry: 3 include ::Gitlab::Import::AdvanceStage - sidekiq_options dead: false - feature_category :importers loggable_arguments 1, 2 + sidekiq_options retry: 6 + + # TODO: Allow this class to include GithubImport::Queue and remove + # the following two lines https://gitlab.com/gitlab-org/gitlab/-/issues/435622 + feature_category :importers + sidekiq_options dead: false # The known importer stages and their corresponding Sidekiq workers. STAGES = { diff --git a/app/workers/gitlab/github_import/refresh_import_jid_worker.rb b/app/workers/gitlab/github_import/refresh_import_jid_worker.rb index fb586ca1ddd..dfc581f201b 100644 --- a/app/workers/gitlab/github_import/refresh_import_jid_worker.rb +++ b/app/workers/gitlab/github_import/refresh_import_jid_worker.rb @@ -9,6 +9,8 @@ module Gitlab include GithubImport::Queue + sidekiq_options retry: 5 + # The interval to schedule new instances of this job at. INTERVAL = 5.minutes.to_i diff --git a/app/workers/gitlab/github_import/stage/finish_import_worker.rb b/app/workers/gitlab/github_import/stage/finish_import_worker.rb index 90445a6d46c..8d5a98136af 100644 --- a/app/workers/gitlab/github_import/stage/finish_import_worker.rb +++ b/app/workers/gitlab/github_import/stage/finish_import_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods # project - An instance of Project. diff --git a/app/workers/gitlab/github_import/stage/import_attachments_worker.rb b/app/workers/gitlab/github_import/stage/import_attachments_worker.rb index a5d085a82c0..bbf762133e1 100644 --- a/app/workers/gitlab/github_import/stage/import_attachments_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_attachments_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods resumes_work_when_interrupted! diff --git a/app/workers/gitlab/github_import/stage/import_base_data_worker.rb b/app/workers/gitlab/github_import/stage/import_base_data_worker.rb index 5bbe14b6528..d965c1ae847 100644 --- a/app/workers/gitlab/github_import/stage/import_base_data_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_base_data_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods # These importers are fast enough that we can just run them in the same diff --git a/app/workers/gitlab/github_import/stage/import_collaborators_worker.rb b/app/workers/gitlab/github_import/stage/import_collaborators_worker.rb index 037b529b866..b5b1601e3ed 100644 --- a/app/workers/gitlab/github_import/stage/import_collaborators_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_collaborators_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods # client - An instance of Gitlab::GithubImport::Client. diff --git a/app/workers/gitlab/github_import/stage/import_issue_events_worker.rb b/app/workers/gitlab/github_import/stage/import_issue_events_worker.rb index 35779d7bfc5..27d14a1a108 100644 --- a/app/workers/gitlab/github_import/stage/import_issue_events_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_issue_events_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods resumes_work_when_interrupted! diff --git a/app/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker.rb b/app/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker.rb index 58e1f637b6a..595f0ca44d4 100644 --- a/app/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods resumes_work_when_interrupted! diff --git a/app/workers/gitlab/github_import/stage/import_lfs_objects_worker.rb b/app/workers/gitlab/github_import/stage/import_lfs_objects_worker.rb index 8d7bd98f303..34c31fea726 100644 --- a/app/workers/gitlab/github_import/stage/import_lfs_objects_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_lfs_objects_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods # Importer::LfsObjectsImporter can resume work when interrupted as diff --git a/app/workers/gitlab/github_import/stage/import_notes_worker.rb b/app/workers/gitlab/github_import/stage/import_notes_worker.rb index 0459545d8e1..8aea27a94d4 100644 --- a/app/workers/gitlab/github_import/stage/import_notes_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_notes_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods resumes_work_when_interrupted! diff --git a/app/workers/gitlab/github_import/stage/import_protected_branches_worker.rb b/app/workers/gitlab/github_import/stage/import_protected_branches_worker.rb index e281e965f94..65b9d85f453 100644 --- a/app/workers/gitlab/github_import/stage/import_protected_branches_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_protected_branches_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods # client - An instance of Gitlab::GithubImport::Client. diff --git a/app/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker.rb b/app/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker.rb index 2f543951bf3..20b2e5ed6af 100644 --- a/app/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods resumes_work_when_interrupted! diff --git a/app/workers/gitlab/github_import/stage/import_pull_requests_review_requests_worker.rb b/app/workers/gitlab/github_import/stage/import_pull_requests_review_requests_worker.rb index db76545ae87..1262fc23c6c 100644 --- a/app/workers/gitlab/github_import/stage/import_pull_requests_review_requests_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_pull_requests_review_requests_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods resumes_work_when_interrupted! diff --git a/app/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker.rb b/app/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker.rb index 31b7c57a524..bb4699889da 100644 --- a/app/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods resumes_work_when_interrupted! diff --git a/app/workers/gitlab/github_import/stage/import_pull_requests_worker.rb b/app/workers/gitlab/github_import/stage/import_pull_requests_worker.rb index c68b95b5111..bcc39b169af 100644 --- a/app/workers/gitlab/github_import/stage/import_pull_requests_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_pull_requests_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods resumes_work_when_interrupted! diff --git a/app/workers/gitlab/github_import/stage/import_repository_worker.rb b/app/workers/gitlab/github_import/stage/import_repository_worker.rb index e1d67069348..44481b8a75c 100644 --- a/app/workers/gitlab/github_import/stage/import_repository_worker.rb +++ b/app/workers/gitlab/github_import/stage/import_repository_worker.rb @@ -8,7 +8,6 @@ module Gitlab data_consistency :always - include GithubImport::Queue include StageMethods # client - An instance of Gitlab::GithubImport::Client. diff --git a/db/docs/batched_background_migrations.yml b/db/docs/batched_background_migrations.yml index d23f1b30b1d..96860405ddb 100644 --- a/db/docs/batched_background_migrations.yml +++ b/db/docs/batched_background_migrations.yml @@ -6,7 +6,7 @@ feature_categories: - database description: >- The batched_background_migrations table stores information about the batched background migrations present in the system. - See https://docs.gitlab.com/ee/development/batched_background_migrations.html for more details. + See https://docs.gitlab.com/ee/development/database/batched_background_migrations.html for more details. introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/54628 milestone: '13.10' gitlab_schema: gitlab_shared diff --git a/doc/ci/jobs/job_artifacts.md b/doc/ci/jobs/job_artifacts.md index 6593335b63d..f93068faf01 100644 --- a/doc/ci/jobs/job_artifacts.md +++ b/doc/ci/jobs/job_artifacts.md @@ -67,6 +67,8 @@ is used. To prevent artifacts from expiring, you can select **Keep** from the job details page. The option is not available when an artifact has no expiry set. +By default, the [latest artifacts are always kept](#keep-artifacts-from-most-recent-successful-jobs). + ### With a dynamically defined name You can use [CI/CD variables](../variables/index.md) to dynamically define the @@ -331,15 +333,21 @@ With this configuration, GitLab adds **artifact 1** as a link to `file.txt` to t > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/16267) in GitLab 13.0. > - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/229936) in GitLab 13.4. > - [Made optional with a CI/CD setting](https://gitlab.com/gitlab-org/gitlab/-/issues/241026) in GitLab 13.8. +> - Artifacts for [blocked](https://gitlab.com/gitlab-org/gitlab/-/issues/387087) or [failed](https://gitlab.com/gitlab-org/gitlab/-/issues/266958) pipelines no longer kept indefinitely in GitLab 16.7. + +By default artifacts are always kept for successful pipelines for the most recent commit on each ref. +Any [`expire_in`](#with-an-expiry) configuration does not apply to the most recent artifacts. -By default artifacts are always kept for successful pipelines for the most recent commit on -each ref. This means that the latest artifacts do not immediately expire according -to the `expire_in` configuration. +A pipeline's artifacts are only deleted according to the `expire_in` configuration +if a new pipeline runs for the same ref and: -If a pipeline for a new commit on the same ref completes successfully, the previous pipeline's -artifacts are deleted according to the `expire_in` configuration. The artifacts -of the new pipeline are kept automatically. If multiple pipelines run for the most -recent commit on the ref, all artifacts are kept. +- Succeeds. +- Fails. +- Stops running due to being blocked by a manual job. + +Additionally, artifacts are kept for the ref's last successful pipeline even if it +is not the latest pipeline. As a result, if a new pipeline run fails, the last successful pipeline's +artifacts are still kept. Keeping the latest artifacts can use a large amount of storage space in projects with a lot of jobs or large artifacts. If the latest artifacts are not needed in @@ -356,7 +364,3 @@ Then the artifacts in the earlier pipeline for that ref are allowed to expire to You can disable this behavior for all projects on a self-managed instance in the [instance's CI/CD settings](../../administration/settings/continuous_integration.md#keep-the-latest-artifacts-for-all-jobs-in-the-latest-successful-pipelines). - -When **Keep artifacts from most recent successful jobs** is enabled, artifacts are always kept for [blocked](job_control.md#types-of-manual-jobs) -pipelines. These artifacts expire only after the blocking job is triggered and the pipeline completes. -[Issue 387087](https://gitlab.com/gitlab-org/gitlab/-/issues/387087) proposes to change this behavior. diff --git a/doc/development/code_review.md b/doc/development/code_review.md index 25b9216183f..84d2537d058 100644 --- a/doc/development/code_review.md +++ b/doc/development/code_review.md @@ -231,6 +231,8 @@ Efforts to improve this are in: #### Acceptance checklist +<!-- When editing, remember to announce the change to Engineering Division --> + This checklist encourages the authors, reviewers, and maintainers of merge requests (MRs) to confirm changes were analyzed for high-impact risks to quality, performance, reliability, security, observability, and maintainability. Using checklists improves quality in software engineering. This checklist is a straightforward tool to support and bolster the skills of contributors to the GitLab codebase. diff --git a/doc/development/contributing/merge_request_workflow.md b/doc/development/contributing/merge_request_workflow.md index 30fe82aae58..8ede40e741e 100644 --- a/doc/development/contributing/merge_request_workflow.md +++ b/doc/development/contributing/merge_request_workflow.md @@ -294,7 +294,7 @@ requirements. ### Approval -1. The [MR acceptance checklist](../code_review.md#acceptance-checklist) has been checked as confirmed in the MR. +1. The MR was evaluated against the [MR acceptance checklist](../code_review.md#acceptance-checklist). 1. Create an issue in the [infrastructure issue tracker](https://gitlab.com/gitlab-com/gl-infra/reliability/-/issues) to inform the Infrastructure department when your contribution is changing default settings or introduces a new setting, if relevant. 1. An agreed-upon [rollout plan](https://about.gitlab.com/handbook/engineering/development/processes/rollout-plans/). 1. Reviewed by relevant reviewers, and all concerns are addressed for Availability, Regressions, and Security. Documentation reviews should take place as soon as possible, but they should not block a merge request. diff --git a/lib/gitlab/ci/templates/Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml b/lib/gitlab/ci/templates/Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml index e4f6dc5b0ff..a5cddf5d2d7 100644 --- a/lib/gitlab/ci/templates/Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml +++ b/lib/gitlab/ci/templates/Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml @@ -1,5 +1,5 @@ variables: - DAST_AUTO_DEPLOY_IMAGE_VERSION: 'v2.70.0' + DAST_AUTO_DEPLOY_IMAGE_VERSION: 'v2.71.0' .dast-auto-deploy: image: "${CI_TEMPLATE_REGISTRY_HOST}/gitlab-org/cluster-integration/auto-deploy-image:${DAST_AUTO_DEPLOY_IMAGE_VERSION}" diff --git a/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml b/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml index 64dcb5fae27..0a899f3bb74 100644 --- a/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml +++ b/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml @@ -1,5 +1,5 @@ variables: - AUTO_DEPLOY_IMAGE_VERSION: 'v2.70.0' + AUTO_DEPLOY_IMAGE_VERSION: 'v2.71.0' .auto-deploy: image: "${CI_TEMPLATE_REGISTRY_HOST}/gitlab-org/cluster-integration/auto-deploy-image:${AUTO_DEPLOY_IMAGE_VERSION}" diff --git a/lib/gitlab/ci/templates/Jobs/Deploy.latest.gitlab-ci.yml b/lib/gitlab/ci/templates/Jobs/Deploy.latest.gitlab-ci.yml index d6e5d511e2e..87a7f79c0ce 100644 --- a/lib/gitlab/ci/templates/Jobs/Deploy.latest.gitlab-ci.yml +++ b/lib/gitlab/ci/templates/Jobs/Deploy.latest.gitlab-ci.yml @@ -1,5 +1,5 @@ variables: - AUTO_DEPLOY_IMAGE_VERSION: 'v2.70.0' + AUTO_DEPLOY_IMAGE_VERSION: 'v2.71.0' .auto-deploy: image: "${CI_TEMPLATE_REGISTRY_HOST}/gitlab-org/cluster-integration/auto-deploy-image:${AUTO_DEPLOY_IMAGE_VERSION}" diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 87f7daf2612..ffba34b0765 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -550,6 +550,9 @@ msgstr "" msgid "%{author} has added you as an approver." msgstr "" +msgid "%{author} requested to merge %{source_branch} %{copy_button} into %{target_branch} %{created_at}" +msgstr "" + msgid "%{board_target} not found" msgstr "" @@ -5359,6 +5362,9 @@ msgid_plural "An error occurred while saving the settings" msgstr[0] "" msgstr[1] "" +msgid "An error occurred while saving the settings." +msgstr "" + msgid "An error occurred while saving your settings. Try saving them again." msgstr "" @@ -45335,6 +45341,9 @@ msgstr "" msgid "Settings for the License Compliance feature" msgstr "" +msgid "Settings saved successfully." +msgstr "" + msgid "Settings|Enable this feature allows you to add customized CI YAML file to run as part of the policies action. This features is your acceptance of the %{link_start}GitLab Testing Agreement%{link_end}." msgstr "" diff --git a/package.json b/package.json index 8b36ebd0ce1..839933a6690 100644 --- a/package.json +++ b/package.json @@ -255,7 +255,7 @@ "chokidar": "^3.5.3", "commander": "^2.20.3", "custom-jquery-matchers": "^2.1.0", - "eslint": "8.55.0", + "eslint": "8.56.0", "eslint-import-resolver-jest": "3.0.2", "eslint-import-resolver-webpack": "0.13.8", "eslint-plugin-import": "^2.29.1", diff --git a/qa/Gemfile b/qa/Gemfile index 5b1b5aeaec6..65ee52e44aa 100644 --- a/qa/Gemfile +++ b/qa/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -gem 'gitlab-qa', '~> 13', require: 'gitlab/qa' +gem 'gitlab-qa', '~> 13', '>= 13.1.0', require: 'gitlab/qa' gem 'gitlab_quality-test_tooling', '~> 1.9.0', require: false gem 'gitlab-utils', path: '../gems/gitlab-utils' gem 'activesupport', '~> 7.0.8' # This should stay in sync with the root's Gemfile diff --git a/qa/Gemfile.lock b/qa/Gemfile.lock index 0045d4555e1..eb847eb04ec 100644 --- a/qa/Gemfile.lock +++ b/qa/Gemfile.lock @@ -120,7 +120,7 @@ GEM gitlab (4.19.0) httparty (~> 0.20) terminal-table (>= 1.5.1) - gitlab-qa (13.0.0) + gitlab-qa (13.1.0) activesupport (>= 6.1, < 7.1) gitlab (~> 4.19) http (~> 5.0) @@ -359,7 +359,7 @@ DEPENDENCIES faraday-retry (~> 2.2) fog-core (= 2.1.0) fog-google (~> 1.19) - gitlab-qa (~> 13) + gitlab-qa (~> 13, >= 13.1.0) gitlab-utils! gitlab_quality-test_tooling (~> 1.9.0) influxdb-client (~> 3.0) diff --git a/qa/qa/support/ssh.rb b/qa/qa/support/ssh.rb index eebe5e65504..b2fbddce87d 100644 --- a/qa/qa/support/ssh.rb +++ b/qa/qa/support/ssh.rb @@ -25,7 +25,7 @@ module QA File.binwrite(private_key_file, key.private_key) File.chmod(0700, private_key_file) - keyscan_params = ['-H'] + keyscan_params = ['-T 60 -H'] keyscan_params << "-p #{uri_port}" if uri_port keyscan_params << uri.host diff --git a/qa/spec/support/ssh_spec.rb b/qa/spec/support/ssh_spec.rb index 2edff824fd6..fe38ba7a64e 100644 --- a/qa/spec/support/ssh_spec.rb +++ b/qa/spec/support/ssh_spec.rb @@ -59,8 +59,8 @@ RSpec.describe QA::Support::SSH do end describe '#setup' do - let(:expected_ssh_command_no_port) { "ssh-keyscan -H foo.com >> #{known_hosts_file.path}" } - let(:expected_ssh_command_port) { "ssh-keyscan -H -p #{port} foo.com >> #{known_hosts_file.path}" } + let(:expected_ssh_command_no_port) { "ssh-keyscan -T 60 -H foo.com >> #{known_hosts_file.path}" } + let(:expected_ssh_command_port) { "ssh-keyscan -T 60 -H -p #{port} foo.com >> #{known_hosts_file.path}" } let(:call_method) { ssh.setup } before do diff --git a/spec/features/merge_request/user_creates_merge_request_spec.rb b/spec/features/merge_request/user_creates_merge_request_spec.rb index fdc996ef39b..eab5cee976e 100644 --- a/spec/features/merge_request/user_creates_merge_request_spec.rb +++ b/spec/features/merge_request/user_creates_merge_request_spec.rb @@ -98,7 +98,7 @@ RSpec.describe 'User creates a merge request', :js, feature_category: :code_revi click_button('Create merge request') - expect(page).to have_content(title).and have_content("• #{forked_project.full_path}:fix ➔ master") + expect(page).to have_content(title).and have_content("requested to merge #{forked_project.full_path}:fix into master") end end end diff --git a/spec/features/merge_request/user_edits_merge_request_spec.rb b/spec/features/merge_request/user_edits_merge_request_spec.rb index 31b382be611..584a17ae33d 100644 --- a/spec/features/merge_request/user_edits_merge_request_spec.rb +++ b/spec/features/merge_request/user_edits_merge_request_spec.rb @@ -95,7 +95,7 @@ RSpec.describe 'User edits a merge request', :js, feature_category: :code_review click_button('Save changes') - expect(page).to have_content("• #{merge_request.source_branch} ➔ merge-test") + expect(page).to have_content("requested to merge #{merge_request.source_branch} into merge-test") expect(page).to have_content("changed target branch from #{merge_request.target_branch} to merge-test") end diff --git a/spec/features/users/signup_spec.rb b/spec/features/users/signup_spec.rb index 539c017dd0f..bb08ed7d07d 100644 --- a/spec/features/users/signup_spec.rb +++ b/spec/features/users/signup_spec.rb @@ -339,11 +339,24 @@ RSpec.describe 'Signup', :js, feature_category: :user_management do end context 'when invisible captcha detects malicious behaviour' do - it 'prevents from signing up' do - visit new_user_registration_path + context 'with form submitted quicker than timestamp_threshold', :freeze_time do + it 'prevents from signing up' do + visit new_user_registration_path - expect { fill_in_sign_up_form(new_user) }.not_to change { User.count } - expect(page).to have_content('That was a bit too quick! Please resubmit.') + expect { fill_in_sign_up_form(new_user) }.not_to change { User.count } + expect(page).to have_content('That was a bit too quick! Please resubmit.') + end + end + + context 'with honeypot field is filled' do + it 'prevents from signing up' do + visit new_user_registration_path + + find_field('If you are human, please ignore this field.', + visible: false).execute_script("this.value = 'bot'") + + expect { fill_in_sign_up_form(new_user) }.not_to change { User.count } + end end end end diff --git a/spec/frontend/badges/store/actions_spec.js b/spec/frontend/badges/store/actions_spec.js index 5ca199357f9..1900ebc1e08 100644 --- a/spec/frontend/badges/store/actions_spec.js +++ b/spec/frontend/badges/store/actions_spec.js @@ -258,7 +258,7 @@ describe('Badges store actions', () => { it('dispatches requestLoadBadges and receiveLoadBadges for successful response', async () => { const dummyData = 'this is just some data'; - const dummyReponse = [ + const dummyResponse = [ createDummyBadgeResponse(), createDummyBadgeResponse(), createDummyBadgeResponse(), @@ -266,11 +266,11 @@ describe('Badges store actions', () => { endpointMock.replyOnce(() => { expect(dispatch.mock.calls).toEqual([['requestLoadBadges', dummyData]]); dispatch.mockClear(); - return [HTTP_STATUS_OK, dummyReponse]; + return [HTTP_STATUS_OK, dummyResponse]; }); await actions.loadBadges({ state, dispatch }, dummyData); - const badges = dummyReponse.map(transformBackendBadge); + const badges = dummyResponse.map(transformBackendBadge); expect(dispatch.mock.calls).toEqual([['receiveLoadBadges', badges]]); }); @@ -377,15 +377,15 @@ describe('Badges store actions', () => { }); it('dispatches requestRenderedBadge and receiveRenderedBadge for successful response', async () => { - const dummyReponse = createDummyBadgeResponse(); + const dummyResponse = createDummyBadgeResponse(); endpointMock.replyOnce(() => { expect(dispatch.mock.calls).toEqual([['requestRenderedBadge']]); dispatch.mockClear(); - return [HTTP_STATUS_OK, dummyReponse]; + return [HTTP_STATUS_OK, dummyResponse]; }); await actions.renderBadge({ state, dispatch }); - const renderedBadge = transformBackendBadge(dummyReponse); + const renderedBadge = transformBackendBadge(dummyResponse); expect(dispatch.mock.calls).toEqual([['receiveRenderedBadge', renderedBadge]]); }); diff --git a/spec/lib/bulk_imports/pipeline/runner_spec.rb b/spec/lib/bulk_imports/pipeline/runner_spec.rb index 72e5e16a5b4..5482068204d 100644 --- a/spec/lib/bulk_imports/pipeline/runner_spec.rb +++ b/spec/lib/bulk_imports/pipeline/runner_spec.rb @@ -306,14 +306,14 @@ RSpec.describe BulkImports::Pipeline::Runner, feature_category: :importers do allow(extractor).to receive(:extract).with(context).and_raise( BulkImports::NetworkError.new( 'Net::ReadTimeout', - response: instance_double(HTTParty::Response, code: reponse_status_code, headers: {}) + response: instance_double(HTTParty::Response, code: response_status_code, headers: {}) ) ) end end context 'when exception is retriable' do - let(:reponse_status_code) { 429 } + let(:response_status_code) { 429 } it 'raises the exception BulkImports::RetryPipelineError' do expect { subject.run }.to raise_error(BulkImports::RetryPipelineError) @@ -321,7 +321,7 @@ RSpec.describe BulkImports::Pipeline::Runner, feature_category: :importers do end context 'when exception is not retriable' do - let(:reponse_status_code) { 505 } + let(:response_status_code) { 505 } it_behaves_like 'failed pipeline', 'BulkImports::NetworkError', 'Net::ReadTimeout' end diff --git a/spec/models/container_repository_spec.rb b/spec/models/container_repository_spec.rb index fb32c796016..dc53c420704 100644 --- a/spec/models/container_repository_spec.rb +++ b/spec/models/container_repository_spec.rb @@ -1148,9 +1148,9 @@ RSpec.describe ContainerRepository, :aggregate_failures, feature_category: :cont end end - describe '.find_or_create_from_path' do + describe '.find_or_create_from_path!' do let(:repository) do - described_class.find_or_create_from_path(ContainerRegistry::Path.new(path)) + described_class.find_or_create_from_path!(ContainerRegistry::Path.new(path)) end let(:repository_path) { ContainerRegistry::Path.new(path) } @@ -1239,7 +1239,7 @@ RSpec.describe ContainerRepository, :aggregate_failures, feature_category: :cont Thread.new do true while wait_for_it - described_class.find_or_create_from_path(path) + described_class.find_or_create_from_path!(path) end end wait_for_it = false diff --git a/spec/requests/api/ci/pipeline_schedules_spec.rb b/spec/requests/api/ci/pipeline_schedules_spec.rb index a4bb379d01c..f534b093b7c 100644 --- a/spec/requests/api/ci/pipeline_schedules_spec.rb +++ b/spec/requests/api/ci/pipeline_schedules_spec.rb @@ -241,7 +241,7 @@ RSpec.describe API::Ci::PipelineSchedules, feature_category: :continuous_integra let(:url) { "/projects/#{project.id}/pipeline_schedules/#{pipeline_schedule.id}/pipelines" } matcher :return_pipeline_schedule_pipelines_successfully do - match_unless_raises do |reponse| + match_unless_raises do |response| expect(response).to have_gitlab_http_status(:ok) expect(response).to include_pagination_headers expect(response).to match_response_schema('public_api/v4/pipelines') diff --git a/spec/requests/api/graphql/mutations/container_registry/protection/rule/delete_spec.rb b/spec/requests/api/graphql/mutations/container_registry/protection/rule/delete_spec.rb index 8b5eaf580f4..dd661c302ff 100644 --- a/spec/requests/api/graphql/mutations/container_registry/protection/rule/delete_spec.rb +++ b/spec/requests/api/graphql/mutations/container_registry/protection/rule/delete_spec.rb @@ -20,7 +20,7 @@ RSpec.describe 'Deleting a container registry protection rule', :aggregate_failu post_graphql_mutation(mutation, current_user: current_user) end - shared_examples 'an erroneous reponse' do + shared_examples 'an erroneous response' do it { post_graphql_mutation_delete_container_registry_protection_rule.tap { expect(mutation_response).to be_blank } } it do @@ -53,7 +53,7 @@ RSpec.describe 'Deleting a container registry protection rule', :aggregate_failu create(:container_registry_protection_rule, repository_path_pattern: 'protection_rule_other_project') end - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { is_expected.tap { expect_graphql_errors_to_include(/you don't have permission to perform this action/) } } end @@ -64,7 +64,7 @@ RSpec.describe 'Deleting a container registry protection rule', :aggregate_failu repository_path_pattern: 'protection_rule_deleted').destroy! end - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { is_expected.tap { expect_graphql_errors_to_include(/you don't have permission to perform this action/) } } end @@ -80,7 +80,7 @@ RSpec.describe 'Deleting a container registry protection rule', :aggregate_failu end with_them do - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { is_expected.tap { expect_graphql_errors_to_include(/you don't have permission to perform this action/) } } end @@ -91,7 +91,7 @@ RSpec.describe 'Deleting a container registry protection rule', :aggregate_failu stub_feature_flags(container_registry_protected_containers: false) end - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it do post_graphql_mutation_delete_container_registry_protection_rule diff --git a/spec/requests/api/graphql/mutations/packages/protection/rule/delete_spec.rb b/spec/requests/api/graphql/mutations/packages/protection/rule/delete_spec.rb index 1d94d520674..6c300f8ce57 100644 --- a/spec/requests/api/graphql/mutations/packages/protection/rule/delete_spec.rb +++ b/spec/requests/api/graphql/mutations/packages/protection/rule/delete_spec.rb @@ -15,7 +15,7 @@ RSpec.describe 'Deleting a package protection rule', :aggregate_failures, featur subject { post_graphql_mutation(mutation, current_user: current_user) } - shared_examples 'an erroneous reponse' do + shared_examples 'an erroneous response' do it { subject.tap { expect(mutation_response).to be_blank } } it { expect { subject }.not_to change { ::Packages::Protection::Rule.count } } end @@ -44,7 +44,7 @@ RSpec.describe 'Deleting a package protection rule', :aggregate_failures, featur create(:package_protection_rule, package_name_pattern: 'protection_rule_other_project') end - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { subject.tap { expect_graphql_errors_to_include(/you don't have permission to perform this action/) } } end @@ -54,7 +54,7 @@ RSpec.describe 'Deleting a package protection rule', :aggregate_failures, featur create(:package_protection_rule, project: project, package_name_pattern: 'protection_rule_deleted').destroy! end - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { subject.tap { expect_graphql_errors_to_include(/you don't have permission to perform this action/) } } end @@ -70,7 +70,7 @@ RSpec.describe 'Deleting a package protection rule', :aggregate_failures, featur end with_them do - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { subject.tap { expect_graphql_errors_to_include(/you don't have permission to perform this action/) } } end @@ -81,7 +81,7 @@ RSpec.describe 'Deleting a package protection rule', :aggregate_failures, featur stub_feature_flags(packages_protected_packages: false) end - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { subject.tap { expect_graphql_errors_to_include(/'packages_protected_packages' feature flag is disabled/) } } end diff --git a/spec/requests/api/graphql/mutations/packages/protection/rule/update_spec.rb b/spec/requests/api/graphql/mutations/packages/protection/rule/update_spec.rb index cb4f9240311..efc919062d6 100644 --- a/spec/requests/api/graphql/mutations/packages/protection/rule/update_spec.rb +++ b/spec/requests/api/graphql/mutations/packages/protection/rule/update_spec.rb @@ -63,7 +63,7 @@ RSpec.describe 'Updating the packages protection rule', :aggregate_failures, fea end end - shared_examples 'an erroneous reponse' do + shared_examples 'an erroneous response' do it { subject.tap { expect(mutation_response).to be_blank } } it { expect { subject }.not_to change { package_protection_rule.reload.updated_at } } end @@ -92,7 +92,7 @@ RSpec.describe 'Updating the packages protection rule', :aggregate_failures, fea context 'with invalid input param `pushProtectedUpToAccessLevel`' do let(:input) { super().merge(push_protected_up_to_access_level: nil) } - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { is_expected.tap { expect_graphql_errors_to_include(/pushProtectedUpToAccessLevel can't be blank/) } } end @@ -100,7 +100,7 @@ RSpec.describe 'Updating the packages protection rule', :aggregate_failures, fea context 'with invalid input param `packageNamePattern`' do let(:input) { super().merge(package_name_pattern: '') } - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it { is_expected.tap { expect_graphql_errors_to_include(/packageNamePattern can't be blank/) } } end @@ -125,7 +125,7 @@ RSpec.describe 'Updating the packages protection rule', :aggregate_failures, fea stub_feature_flags(packages_protected_packages: false) end - it_behaves_like 'an erroneous reponse' + it_behaves_like 'an erroneous response' it 'returns error of disabled feature flag' do is_expected.tap { expect_graphql_errors_to_include(/'packages_protected_packages' feature flag is disabled/) } diff --git a/spec/requests/api/ml/mlflow/registered_models_spec.rb b/spec/requests/api/ml/mlflow/registered_models_spec.rb index 4dd6fe31258..09cf765b0b3 100644 --- a/spec/requests/api/ml/mlflow/registered_models_spec.rb +++ b/spec/requests/api/ml/mlflow/registered_models_spec.rb @@ -207,7 +207,7 @@ RSpec.describe API::Ml::Mlflow::RegisteredModels, feature_category: :mlops do let(:route) { "/projects/#{project_id}/ml/mlflow/api/2.0/mlflow/registered-models/delete" } let(:request) { delete api(route), params: params, headers: headers } - it 'returns a success reponse', :aggregate_failures do + it 'returns a success response', :aggregate_failures do is_expected.to have_gitlab_http_status(:ok) expect(json_response).to eq({}) end diff --git a/spec/requests/api/remote_mirrors_spec.rb b/spec/requests/api/remote_mirrors_spec.rb index 3da1760e319..7d37d73a361 100644 --- a/spec/requests/api/remote_mirrors_spec.rb +++ b/spec/requests/api/remote_mirrors_spec.rb @@ -50,7 +50,7 @@ RSpec.describe API::RemoteMirrors, feature_category: :source_code_management do let(:route) { "/projects/#{project.id}/remote_mirrors" } shared_examples 'creates a remote mirror' do - it 'creates a remote mirror and returns reponse' do + it 'creates a remote mirror and returns response' do project.add_maintainer(user) post api(route, user), params: params diff --git a/spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb b/spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb index 3f3c5da5b55..37e686f9f92 100644 --- a/spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb +++ b/spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb @@ -15,6 +15,10 @@ RSpec.describe Gitlab::GithubImport::StageMethods, feature_category: :importers end.new end + it 'has a Sidekiq retry of 6' do + expect(worker.class.sidekiq_options['retry']).to eq(6) + end + describe '#perform' do it 'returns if no project could be found' do expect(worker).not_to receive(:try_import) diff --git a/spec/workers/every_sidekiq_worker_spec.rb b/spec/workers/every_sidekiq_worker_spec.rb index e18f5ec2524..c60e8d37c2e 100644 --- a/spec/workers/every_sidekiq_worker_spec.rb +++ b/spec/workers/every_sidekiq_worker_spec.rb @@ -263,7 +263,7 @@ RSpec.describe 'Every Sidekiq worker', feature_category: :shared do 'Gitlab::BitbucketServerImport::Stage::ImportPullRequestsWorker' => 3, 'Gitlab::BitbucketServerImport::Stage::ImportRepositoryWorker' => 3, 'Gitlab::BitbucketServerImport::Stage::ImportUsersWorker' => 3, - 'Gitlab::GithubImport::AdvanceStageWorker' => 3, + 'Gitlab::GithubImport::AdvanceStageWorker' => 6, 'Gitlab::GithubImport::Attachments::ImportReleaseWorker' => 5, 'Gitlab::GithubImport::Attachments::ImportNoteWorker' => 5, 'Gitlab::GithubImport::Attachments::ImportIssueWorker' => 5, @@ -280,20 +280,20 @@ RSpec.describe 'Every Sidekiq worker', feature_category: :shared do 'Gitlab::GithubImport::PullRequests::ImportMergedByWorker' => 5, 'Gitlab::GithubImport::ImportPullRequestWorker' => 5, 'Gitlab::GithubImport::RefreshImportJidWorker' => 5, - 'Gitlab::GithubImport::Stage::FinishImportWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportBaseDataWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportIssuesAndDiffNotesWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportIssueEventsWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportLfsObjectsWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportAttachmentsWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportProtectedBranchesWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportNotesWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportCollaboratorsWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportPullRequestsMergedByWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportPullRequestsReviewRequestsWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportPullRequestsReviewsWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportPullRequestsWorker' => 5, - 'Gitlab::GithubImport::Stage::ImportRepositoryWorker' => 5, + 'Gitlab::GithubImport::Stage::FinishImportWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportBaseDataWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportIssuesAndDiffNotesWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportIssueEventsWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportLfsObjectsWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportAttachmentsWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportProtectedBranchesWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportNotesWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportCollaboratorsWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportPullRequestsMergedByWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportPullRequestsReviewRequestsWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportPullRequestsReviewsWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportPullRequestsWorker' => 6, + 'Gitlab::GithubImport::Stage::ImportRepositoryWorker' => 6, 'Gitlab::GithubGistsImport::ImportGistWorker' => 5, 'Gitlab::GithubGistsImport::StartImportWorker' => 5, 'Gitlab::GithubGistsImport::FinishImportWorker' => 5, diff --git a/spec/workers/gitlab/github_import/advance_stage_worker_spec.rb b/spec/workers/gitlab/github_import/advance_stage_worker_spec.rb index 60c117a2a90..dcf016c550b 100644 --- a/spec/workers/gitlab/github_import/advance_stage_worker_spec.rb +++ b/spec/workers/gitlab/github_import/advance_stage_worker_spec.rb @@ -4,4 +4,8 @@ require 'spec_helper' RSpec.describe Gitlab::GithubImport::AdvanceStageWorker, feature_category: :importers do it_behaves_like Gitlab::Import::AdvanceStage, factory: :import_state + + it 'has a Sidekiq retry of 6' do + expect(described_class.sidekiq_options['retry']).to eq(6) + end end diff --git a/yarn.lock b/yarn.lock index c0cb00d3076..d70e6d32e5a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1194,10 +1194,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.55.0": - version "8.55.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.55.0.tgz#b721d52060f369aa259cf97392403cb9ce892ec6" - integrity sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA== +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== "@floating-ui/core@^1.2.6": version "1.2.6" @@ -6307,15 +6307,15 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@8.55.0: - version "8.55.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.55.0.tgz#078cb7b847d66f2c254ea1794fa395bf8e7e03f8" - integrity sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA== +eslint@8.56.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.55.0" + "@eslint/js" "8.56.0" "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" |