Commit 3f0e1382 authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab master

parents c1de6bd0 f82bb656
- page_title _('Edit'), "#{@runner.description} ##{@runner.id}", 'Runners' - page_title _('Edit'), "#{@runner.description} ##{@runner.id}", _('Runners')
%h4 Runner ##{@runner.id} %h4 Runner ##{@runner.id}
......
---
title: Externalise strings in runners/edit.html.haml
merge_request: 58315
author: nuwe1
type: other
...@@ -73,7 +73,7 @@ To enable merge trains: ...@@ -73,7 +73,7 @@ To enable merge trains:
- You must have maintainer [permissions](../../../../user/permissions.md). - You must have maintainer [permissions](../../../../user/permissions.md).
- You must be using [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) 11.9 or later. - You must be using [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) 11.9 or later.
- In GitLab 12.0 and later, you need [Redis](https://redis.io/) 3.2 or later. - In GitLab 13.0 and later, you need [Redis](https://redis.io/) 5.0 or later.
- Your repository must be a GitLab repository, not an - Your repository must be a GitLab repository, not an
[external repository](../../../ci_cd_for_external_repos/index.md). [external repository](../../../ci_cd_for_external_repos/index.md).
......
...@@ -94,8 +94,8 @@ from source at the [Node.js website](https://nodejs.org/en/download/). ...@@ -94,8 +94,8 @@ from source at the [Node.js website](https://nodejs.org/en/download/).
GitLab 13.0 and later requires Redis version 4.0 or higher. GitLab 13.0 and later requires Redis version 4.0 or higher.
Redis version 5.0 or higher is recommended, as this is what ships with Redis version 6.0 or higher is recommended, as this is what ships with
[Omnibus GitLab](https://docs.gitlab.com/omnibus/) packages starting with GitLab 12.7. [Omnibus GitLab](https://docs.gitlab.com/omnibus/) packages starting with GitLab 13.9.
## Hardware requirements ## Hardware requirements
......
# frozen_string_literal: true
module QA
RSpec.describe 'Verify' do
describe 'Pipeline subscription with a group owned project', :runner do
let(:executor) { "qa-runner-#{SecureRandom.hex(3)}" }
let(:tag_name) { "awesome-tag-#{SecureRandom.hex(3)}" }
let(:upstream_project) do
Resource::Project.fabricate_via_api! do |project|
project.name = 'upstream-project-for-subscription'
project.description = 'Project with CI subscription'
end
end
let(:downstream_project) do
Resource::Project.fabricate_via_api! do |project|
project.name = 'project-with-pipeline-subscription'
project.description = 'Project with CI subscription'
end
end
let!(:runner) do
Resource::Runner.fabricate! do |runner|
runner.project = upstream_project
runner.token = upstream_project.group.sandbox.runners_token
runner.name = executor
runner.tags = [executor]
end
end
before do
[downstream_project, upstream_project].each do |project|
add_ci_file(project)
end
Flow::Login.sign_in
downstream_project.visit!
EE::Resource::PipelineSubscriptions.fabricate_via_browser_ui! do |subscription|
subscription.project_path = upstream_project.path_with_namespace
end
end
after do
[runner, upstream_project, downstream_project].each do |item|
item.remove_via_api!
end
end
context 'when upstream project new tag pipeline finishes' do
it 'triggers pipeline in downstream project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1729' do
# Downstream project should have one pipeline at this time
unless downstream_project.pipelines.size == 1
raise "[ERROR] Downstream project should have 1 pipeline - pipelines count #{downstream_project.pipelines.size}"
end
Resource::Tag.fabricate_via_api! do |tag|
tag.project = upstream_project
tag.ref = upstream_project.default_branch
tag.name = tag_name
end
downstream_project.visit!
# Wait for upstream new tag pipeline to succeed
# And downstream project to have 2 pipelines
Support::Waiter.wait_until do
new_pipeline = upstream_project.pipelines.find { |pipeline| pipeline[:ref] == tag_name }
new_pipeline[:status] == 'success' && downstream_project.pipelines.size == 2
end
# expect new downstream pipeline to also succeed
Page::Project::Menu.perform(&:click_ci_cd_pipelines)
Page::Project::Pipeline::Index.perform do |index|
expect(index.wait_for_latest_pipeline_succeeded).to be_truthy, 'Downstream pipeline did not succeed as expected.'
end
end
end
private
def add_ci_file(project)
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: <<~YAML
job:
tags:
- #{executor}
script:
- echo DONE!
YAML
}
]
)
end
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment