Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
		
							parent
							
								
									97d9d9ee16
								
							
						
					
					
						commit
						a0d18c1c5c
					
				
							
								
								
									
										4
									
								
								Gemfile
								
								
								
								
							
							
						
						
									
										4
									
								
								Gemfile
								
								
								
								
							| 
						 | 
				
			
			@ -89,7 +89,7 @@ gem 'grape-entity', '~> 0.7.1'
 | 
			
		|||
gem 'rack-cors', '~> 1.0.6', require: 'rack/cors'
 | 
			
		||||
 | 
			
		||||
# GraphQL API
 | 
			
		||||
gem 'graphql', '~> 1.11.4'
 | 
			
		||||
gem 'graphql', '~> 1.11.8'
 | 
			
		||||
# NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab/issues/31771
 | 
			
		||||
# TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released:
 | 
			
		||||
# https://gitlab.com/gitlab-org/gitlab/issues/31747
 | 
			
		||||
| 
						 | 
				
			
			@ -196,7 +196,7 @@ gem 'acts-as-taggable-on', '~> 7.0'
 | 
			
		|||
gem 'sidekiq', '~> 5.2.7'
 | 
			
		||||
gem 'sidekiq-cron', '~> 1.0'
 | 
			
		||||
gem 'redis-namespace', '~> 1.7.0'
 | 
			
		||||
gem 'gitlab-sidekiq-fetcher', '0.5.4', require: 'sidekiq-reliable-fetch'
 | 
			
		||||
gem 'gitlab-sidekiq-fetcher', '0.5.5', require: 'sidekiq-reliable-fetch'
 | 
			
		||||
 | 
			
		||||
# Cron Parser
 | 
			
		||||
gem 'fugit', '~> 1.2.1'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -451,7 +451,7 @@ GEM
 | 
			
		|||
    gitlab-pry-byebug (3.9.0)
 | 
			
		||||
      byebug (~> 11.0)
 | 
			
		||||
      pry (~> 0.13.0)
 | 
			
		||||
    gitlab-sidekiq-fetcher (0.5.4)
 | 
			
		||||
    gitlab-sidekiq-fetcher (0.5.5)
 | 
			
		||||
      sidekiq (~> 5)
 | 
			
		||||
    gitlab-styles (6.0.0)
 | 
			
		||||
      rubocop (~> 0.91.1)
 | 
			
		||||
| 
						 | 
				
			
			@ -520,7 +520,7 @@ GEM
 | 
			
		|||
      faraday (>= 1.0)
 | 
			
		||||
      faraday_middleware
 | 
			
		||||
      graphql-client
 | 
			
		||||
    graphql (1.11.4)
 | 
			
		||||
    graphql (1.11.8)
 | 
			
		||||
    graphql-client (0.16.0)
 | 
			
		||||
      activesupport (>= 3.0)
 | 
			
		||||
      graphql (~> 1.8)
 | 
			
		||||
| 
						 | 
				
			
			@ -1379,7 +1379,7 @@ DEPENDENCIES
 | 
			
		|||
  gitlab-markup (~> 1.7.1)
 | 
			
		||||
  gitlab-net-dns (~> 0.9.1)
 | 
			
		||||
  gitlab-pry-byebug
 | 
			
		||||
  gitlab-sidekiq-fetcher (= 0.5.4)
 | 
			
		||||
  gitlab-sidekiq-fetcher (= 0.5.5)
 | 
			
		||||
  gitlab-styles (~> 6.0.0)
 | 
			
		||||
  gitlab_chronic_duration (~> 0.10.6.2)
 | 
			
		||||
  gitlab_omniauth-ldap (~> 2.1.1)
 | 
			
		||||
| 
						 | 
				
			
			@ -1393,7 +1393,7 @@ DEPENDENCIES
 | 
			
		|||
  grape_logging (~> 1.7)
 | 
			
		||||
  graphiql-rails (~> 1.4.10)
 | 
			
		||||
  graphlient (~> 0.4.0)
 | 
			
		||||
  graphql (~> 1.11.4)
 | 
			
		||||
  graphql (~> 1.11.8)
 | 
			
		||||
  graphql-docs (~> 1.6.0)
 | 
			
		||||
  grpc (~> 1.30.2)
 | 
			
		||||
  gssapi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -150,7 +150,7 @@ export default {
 | 
			
		|||
          <gl-button
 | 
			
		||||
            v-else
 | 
			
		||||
            category="primary"
 | 
			
		||||
            variant="success"
 | 
			
		||||
            variant="confirm"
 | 
			
		||||
            type="submit"
 | 
			
		||||
            :loading="isSaving"
 | 
			
		||||
            :disabled="isDisabled"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -166,6 +166,7 @@ export default {
 | 
			
		|||
        :title="$options.i18n.REMOVE_TAG_BUTTON_TITLE"
 | 
			
		||||
        :tooltip-title="$options.i18n.REMOVE_TAG_BUTTON_DISABLE_TOOLTIP"
 | 
			
		||||
        :tooltip-disabled="tag.canDelete"
 | 
			
		||||
        data-qa-selector="tag_delete_button"
 | 
			
		||||
        data-testid="single-delete-button"
 | 
			
		||||
        @delete="$emit('delete')"
 | 
			
		||||
      />
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,6 +92,7 @@ export default {
 | 
			
		|||
      <router-link
 | 
			
		||||
        class="gl-text-body gl-font-weight-bold"
 | 
			
		||||
        data-testid="details-link"
 | 
			
		||||
        data-qa-selector="registry_image_content"
 | 
			
		||||
        :to="{ name: 'details', params: { id } }"
 | 
			
		||||
      >
 | 
			
		||||
        {{ item.path }}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@ module AlertManagement
 | 
			
		|||
    include Gitlab::Utils::StrongMemoize
 | 
			
		||||
 | 
			
		||||
    DEFAULT_ALERT_TITLE = ::Gitlab::AlertManagement::Payload::Generic::DEFAULT_TITLE
 | 
			
		||||
    DEFAULT_INCIDENT_TITLE = 'New: Incident'
 | 
			
		||||
 | 
			
		||||
    # @param alert [AlertManagement::Alert]
 | 
			
		||||
    # @param user [User]
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +58,7 @@ module AlertManagement
 | 
			
		|||
    def update_title_for(issue)
 | 
			
		||||
      return unless issue.title == DEFAULT_ALERT_TITLE
 | 
			
		||||
 | 
			
		||||
      issue.update!(title: _('New: Incident %{iid}' % { iid: issue.iid }))
 | 
			
		||||
      issue.update!(title: "#{DEFAULT_INCIDENT_TITLE} #{issue.iid}")
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def error(message, issue = nil)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: Update button variant to confirm on integration settings page
 | 
			
		||||
merge_request: 55017
 | 
			
		||||
author:
 | 
			
		||||
type: changed
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
---
 | 
			
		||||
title: Update gitlab-sidekiq-fetcher to 0.5.5 to handle namespaced queues
 | 
			
		||||
merge_request: 55013
 | 
			
		||||
author:
 | 
			
		||||
type: fixed
 | 
			
		||||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ module Gitlab
 | 
			
		|||
    module Extensions
 | 
			
		||||
      class ExternallyPaginatedArrayExtension < GraphQL::Schema::Field::ConnectionExtension
 | 
			
		||||
        def resolve(object:, arguments:, context:)
 | 
			
		||||
          yield(object, arguments)
 | 
			
		||||
          yield(object, arguments, arguments)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20178,9 +20178,6 @@ msgstr ""
 | 
			
		|||
msgid "New..."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
msgid "New: Incident %{iid}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
msgid "Newest first"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								qa/qa.rb
								
								
								
								
							
							
						
						
									
										4
									
								
								qa/qa.rb
								
								
								
								
							| 
						 | 
				
			
			@ -293,6 +293,10 @@ module QA
 | 
			
		|||
        autoload :Show, 'qa/page/project/packages/show'
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      module Registry
 | 
			
		||||
        autoload :Show, 'qa/page/project/registry/show'
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      module Settings
 | 
			
		||||
        autoload :Advanced, 'qa/page/project/settings/advanced'
 | 
			
		||||
        autoload :Main, 'qa/page/project/settings/main'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,40 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module QA
 | 
			
		||||
  module Page
 | 
			
		||||
    module Project
 | 
			
		||||
      module Registry
 | 
			
		||||
        class Show < QA::Page::Base
 | 
			
		||||
          view 'app/assets/javascripts/registry/explorer/components/list_page/image_list_row.vue' do
 | 
			
		||||
            element :registry_image_content
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          view 'app/assets/javascripts/registry/explorer/components/details_page/tags_list_row.vue' do
 | 
			
		||||
            element :tag_delete_button
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          def has_image_repository?(name)
 | 
			
		||||
            find('a[data-testid="details-link"]', text: name)
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          def click_on_image(name)
 | 
			
		||||
            find('a[data-testid="details-link"]', text: name).click
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          def has_tag?(tag_name)
 | 
			
		||||
            has_button?(tag_name)
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          def has_no_tag?(tag_name)
 | 
			
		||||
            has_no_button?(tag_name)
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          def click_delete
 | 
			
		||||
            find('[data-testid="single-delete-button"]').click
 | 
			
		||||
            find_button('Confirm').click
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			@ -22,6 +22,25 @@ module QA
 | 
			
		|||
              click_element :packages_link
 | 
			
		||||
            end
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          def go_to_container_registry
 | 
			
		||||
            hover_registry do
 | 
			
		||||
              within_submenu do
 | 
			
		||||
                click_link('Container Registry')
 | 
			
		||||
              end
 | 
			
		||||
            end
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          private
 | 
			
		||||
 | 
			
		||||
          def hover_registry
 | 
			
		||||
            within_sidebar do
 | 
			
		||||
              scroll_to_element(:packages_link)
 | 
			
		||||
              find_element(:packages_link).hover
 | 
			
		||||
 | 
			
		||||
              yield
 | 
			
		||||
            end
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,66 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module QA
 | 
			
		||||
  RSpec.describe 'Package', :orchestrated do
 | 
			
		||||
    describe 'Container Registry', only: { subdomain: :staging } do
 | 
			
		||||
      let(:project) do
 | 
			
		||||
        Resource::Project.fabricate_via_api! do |project|
 | 
			
		||||
          project.name = 'project-with-registry'
 | 
			
		||||
          project.template_name = 'express'
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      let!(:gitlab_ci_yaml) do
 | 
			
		||||
        <<~YAML
 | 
			
		||||
          build:
 | 
			
		||||
            image: docker:19.03.12
 | 
			
		||||
            stage: build
 | 
			
		||||
            services:
 | 
			
		||||
              - docker:19.03.12-dind
 | 
			
		||||
            variables:
 | 
			
		||||
              IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
 | 
			
		||||
            script:
 | 
			
		||||
              - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
 | 
			
		||||
              - docker build -t $IMAGE_TAG .
 | 
			
		||||
              - docker push $IMAGE_TAG
 | 
			
		||||
        YAML
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'pushes project image to the container registry and deletes tag', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1699' do
 | 
			
		||||
        Flow::Login.sign_in
 | 
			
		||||
        project.visit!
 | 
			
		||||
 | 
			
		||||
        Resource::Repository::Commit.fabricate_via_api! do |commit|
 | 
			
		||||
          commit.project = project
 | 
			
		||||
          commit.commit_message = 'Add .gitlab-ci.yml'
 | 
			
		||||
          commit.add_files([{
 | 
			
		||||
                              file_path: '.gitlab-ci.yml',
 | 
			
		||||
                              content: gitlab_ci_yaml
 | 
			
		||||
                            }])
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        Flow::Pipeline.visit_latest_pipeline
 | 
			
		||||
 | 
			
		||||
        Page::Project::Pipeline::Show.perform do |pipeline|
 | 
			
		||||
          pipeline.click_job('build')
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        Page::Project::Job::Show.perform do |job|
 | 
			
		||||
          expect(job).to be_successful(timeout: 800)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        Page::Project::Menu.perform(&:go_to_container_registry)
 | 
			
		||||
 | 
			
		||||
        Page::Project::Registry::Show.perform do |registry|
 | 
			
		||||
          expect(registry).to have_image_repository(project.path_with_namespace)
 | 
			
		||||
 | 
			
		||||
          registry.click_on_image(project.path_with_namespace)
 | 
			
		||||
          expect(registry).to have_tag('master')
 | 
			
		||||
 | 
			
		||||
          registry.click_delete
 | 
			
		||||
          expect(registry).not_to have_tag('master')
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			@ -15,6 +15,7 @@ module Matchers
 | 
			
		|||
    pipeline
 | 
			
		||||
    related_issue_item
 | 
			
		||||
    snippet_description
 | 
			
		||||
    tag
 | 
			
		||||
  ].each do |predicate|
 | 
			
		||||
    RSpec::Matchers.define "have_#{predicate}" do |*args, **kwargs|
 | 
			
		||||
      match do |page_object|
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,7 +89,7 @@ RSpec.describe 'Projects > Settings > For a forked project', :js do
 | 
			
		|||
          )
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        it 'successfully fills and submits the form' do
 | 
			
		||||
        it 'successfully fills and submits the form', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/322666' do
 | 
			
		||||
          visit project_settings_operations_path(project)
 | 
			
		||||
 | 
			
		||||
          wait_for_requests
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +152,7 @@ RSpec.describe 'Projects > Settings > For a forked project', :js do
 | 
			
		|||
    end
 | 
			
		||||
 | 
			
		||||
    context 'grafana integration settings form' do
 | 
			
		||||
      it 'successfully fills and completes the form' do
 | 
			
		||||
      it 'successfully fills and completes the form', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/322666' do
 | 
			
		||||
        visit project_settings_operations_path(project)
 | 
			
		||||
 | 
			
		||||
        wait_for_requests
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue