Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/specs/features/browser_ui/4_verify/pipeline')
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb12
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb2
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb27
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/merge_mr_when_pipline_is_blocked_spec.rb60
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb17
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb13
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_with_image_pull_policy_spec.rb43
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_via_web_only_spec.rb34
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb81
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb17
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb15
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb23
12 files changed, 147 insertions, 197 deletions
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb
index 8cf923f543b..0a66403f728 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb
@@ -29,15 +29,14 @@ module QA
private
def add_files_to_project
- Resource::Repository::Commit.fabricate_via_api! do |commit|
- commit.project = project
- commit.commit_message = 'Add CI and local files'
- commit.add_files([build_config_file, test_config_file, non_detectable_file, main_ci_file])
- end
+ create(:commit, project: project, commit_message: 'Add CI and local files', actions: [
+ build_config_file, test_config_file, non_detectable_file, main_ci_file
+ ])
end
def main_ci_file
{
+ action: 'create',
file_path: '.gitlab-ci.yml',
content: <<~YAML
include: 'configs/*.yml'
@@ -47,6 +46,7 @@ module QA
def build_config_file
{
+ action: 'create',
file_path: 'configs/builds.yml',
content: <<~YAML
build:
@@ -58,6 +58,7 @@ module QA
def test_config_file
{
+ action: 'create',
file_path: 'configs/tests.yml',
content: <<~YAML
test:
@@ -69,6 +70,7 @@ module QA
def non_detectable_file
{
+ action: 'create',
file_path: 'configs/not_included.yaml', # we only include `*.yml` not `*.yaml`
content: <<~YAML
deploy:
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb
index fe655f41992..adf397907da 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb
@@ -23,7 +23,7 @@ module QA
add_included_files
add_main_ci_file
project.visit!
- Flow::Pipeline.visit_latest_pipeline(status: 'passed')
+ Flow::Pipeline.visit_latest_pipeline(status: 'Passed')
end
after do
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb
index da7b7ec720f..4104db2fa7c 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb
@@ -7,13 +7,7 @@ module QA
let(:main_project) { create(:project, name: 'project-with-pipeline') }
let(:project1) { create(:project, name: 'external-project-1') }
let(:project2) { create(:project, name: 'external-project-2') }
- let!(:runner) do
- Resource::ProjectRunner.fabricate! do |runner|
- runner.project = main_project
- runner.name = executor
- runner.tags = [executor]
- end
- end
+ let!(:runner) { create(:project_runner, project: main_project, name: executor, tags: [executor]) }
before do
Flow::Login.sign_in
@@ -24,7 +18,7 @@ module QA
add_main_ci_file(main_project)
main_project.visit!
- Flow::Pipeline.visit_latest_pipeline(status: 'passed')
+ Flow::Pipeline.visit_latest_pipeline(status: 'Passed')
end
after do
@@ -32,7 +26,7 @@ module QA
end
it(
- 'runs the pipeline with composed config',
+ 'runs the pipeline with composed config', :reliable,
testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/396374'
) do
Page::Project::Pipeline::Show.perform do |pipeline|
@@ -51,6 +45,7 @@ module QA
def add_included_files_for(project)
files = [
{
+ action: 'create',
file_path: 'file1.yml',
content: <<~YAML
test1_for_#{project.full_path}:
@@ -59,6 +54,7 @@ module QA
YAML
},
{
+ action: 'create',
file_path: 'file2.yml',
content: <<~YAML
test2_for_#{project.full_path}:
@@ -68,23 +64,16 @@ module QA
}
]
- Resource::Repository::Commit.fabricate_via_api! do |commit|
- commit.project = project
- commit.commit_message = 'Add files'
- commit.add_files(files)
- end
+ create(:commit, project: project, commit_message: 'Add files', actions: files)
end
def add_main_ci_file(project)
- Resource::Repository::Commit.fabricate_via_api! do |commit|
- commit.project = project
- commit.commit_message = 'Add config file'
- commit.add_files([main_ci_file])
- end
+ create(:commit, project: project, commit_message: 'Add config file', actions: [main_ci_file])
end
def main_ci_file
{
+ action: 'create',
file_path: '.gitlab-ci.yml',
content: <<~YAML
include:
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/merge_mr_when_pipline_is_blocked_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/merge_mr_when_pipline_is_blocked_spec.rb
index 3e1e2bc5b5b..944f40b61f6 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/merge_mr_when_pipline_is_blocked_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/merge_mr_when_pipline_is_blocked_spec.rb
@@ -18,43 +18,39 @@ module QA
end
let!(:ci_file) do
- 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
- test_blocked_pipeline:
- stage: build
- tags: [#{executor}]
- script: echo 'OK!'
+ create(:commit, project: project, commit_message: 'Add .gitlab-ci.yml', actions: [
+ {
+ action: 'create',
+ file_path: '.gitlab-ci.yml',
+ content: <<~YAML
+ test_blocked_pipeline:
+ stage: build
+ tags: [#{executor}]
+ script: echo 'OK!'
- manual_job:
- stage: test
- needs: [test_blocked_pipeline]
- script: echo do not click me
- when: manual
- allow_failure: false
+ manual_job:
+ stage: test
+ needs: [test_blocked_pipeline]
+ script: echo do not click me
+ when: manual
+ allow_failure: false
- dummy_job:
- stage: deploy
- needs: [manual_job]
- script: echo nothing
- YAML
- ]
- )
- end
+ dummy_job:
+ stage: deploy
+ needs: [manual_job]
+ script: echo nothing
+ YAML
+ }
+ ])
end
let(:merge_request) do
- Resource::MergeRequest.fabricate_via_api! do |merge_request|
- merge_request.project = project
- merge_request.description = Faker::Lorem.sentence
- merge_request.target_new_branch = false
- merge_request.file_name = 'custom_file.txt'
- merge_request.file_content = Faker::Lorem.sentence
- end
+ create(:merge_request,
+ project: project,
+ description: Faker::Lorem.sentence,
+ target_new_branch: false,
+ file_name: 'custom_file.txt',
+ file_content: Faker::Lorem.sentence)
end
before do
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb
index e599f1929d5..7735181f748 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb
@@ -44,6 +44,7 @@ module QA
def success_child_ci_file
{
+ action: 'create',
file_path: '.child-ci.yml',
content: <<~YAML
child_job:
@@ -57,6 +58,7 @@ module QA
def fail_child_ci_file
{
+ action: 'create',
file_path: '.child-ci.yml',
content: <<~YAML
child_job:
@@ -70,6 +72,7 @@ module QA
def parent_ci_file
{
+ action: 'create',
file_path: '.gitlab-ci.yml',
content: <<~YAML
stages:
@@ -91,16 +94,10 @@ module QA
end
def add_ci_files(child_ci_file)
- Resource::Repository::Commit.fabricate_via_api! do |commit|
- commit.project = project
- commit.commit_message = 'Add parent and child pipelines CI files.'
- commit.add_files(
- [
- child_ci_file,
- parent_ci_file
- ]
- )
- end.project.visit!
+ create(:commit,
+ project: project,
+ commit_message: 'Add parent and child pipelines CI files.',
+ actions: [child_ci_file, parent_ci_file]).project.visit!
end
end
end
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb
index f9a3856f810..1768cb9a488 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb
@@ -22,7 +22,7 @@ module QA
add_ci_file(downstream_project, downstream_ci_file)
add_ci_file(upstream_project, upstream_ci_file)
upstream_project.visit!
- Flow::Pipeline.visit_latest_pipeline(status: 'passed')
+ Flow::Pipeline.visit_latest_pipeline(status: 'Passed')
end
after do
@@ -30,7 +30,8 @@ module QA
[upstream_project, downstream_project].each(&:remove_via_api!)
end
- it 'runs the pipeline with composed config', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/348088' do
+ it 'runs the pipeline with composed config', :reliable,
+ testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/348088' do
Page::Project::Pipeline::Show.perform do |parent_pipeline|
Support::Waiter.wait_until { parent_pipeline.has_linked_pipeline? }
parent_pipeline.expand_linked_pipeline
@@ -46,15 +47,12 @@ module QA
private
def add_ci_file(project, file)
- Resource::Repository::Commit.fabricate_via_api! do |commit|
- commit.project = project
- commit.commit_message = 'Add config file'
- commit.add_files([file])
- end
+ create(:commit, project: project, commit_message: 'Add config file', actions: [file])
end
def upstream_ci_file
{
+ action: 'create',
file_path: '.gitlab-ci.yml',
content: <<~YAML
build:
@@ -77,6 +75,7 @@ module QA
def downstream_ci_file
{
+ action: 'create',
file_path: '.gitlab-ci.yml',
content: <<~YAML
downstream_test:
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_with_image_pull_policy_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_with_image_pull_policy_spec.rb
index 69d8467e6ea..126c0bd5d9c 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_with_image_pull_policy_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_with_image_pull_policy_spec.rb
@@ -60,7 +60,7 @@ module QA
end
with_them do
- it 'applies pull policy in job correctly', testcase: params[:testcase] do
+ it 'applies pull policy in job correctly', :reliable, testcase: params[:testcase] do
visit_job
if pull_image
@@ -106,7 +106,7 @@ module QA
QA::Service::Shellout.shell("docker cp #{runner_name}:/etc/gitlab-runner/config.toml #{tempdir.path}")
File.open(tempdir.path, 'a') do |f|
- f << %[ allowed_pull_policies = #{allowed_policies}\n]
+ f << %( allowed_pull_policies = #{allowed_policies}\n)
end
QA::Service::Shellout.shell("docker cp #{tempdir.path} #{runner_name}:/etc/gitlab-runner/config.toml")
@@ -117,28 +117,23 @@ module QA
end
def add_ci_file
- 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
- default:
- image: ruby:2.6
- tags: [#{runner_name}]
-
- #{job_name}:
- script: echo "Using pull policies #{pull_policies}"
- image:
- name: ruby:2.6
- pull_policy: #{pull_policies}
- YAML
- }
- ]
- )
- end
+ create(:commit, project: project, commit_message: 'Add .gitlab-ci.yml', actions: [
+ {
+ action: 'create',
+ file_path: '.gitlab-ci.yml',
+ content: <<~YAML
+ default:
+ image: ruby:2.6
+ tags: [#{runner_name}]
+
+ #{job_name}:
+ script: echo "Using pull policies #{pull_policies}"
+ image:
+ name: ruby:2.6
+ pull_policy: #{pull_policies}
+ YAML
+ }
+ ])
end
def visit_job
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_via_web_only_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_via_web_only_spec.rb
index b96869658c9..da42c28cd48 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_via_web_only_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_via_web_only_spec.rb
@@ -7,26 +7,20 @@ module QA
let(:job_name) { 'test_job' }
let(:project) { create(:project, name: 'web-only-pipeline') }
let!(:ci_file) do
- 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_name}:
- tags:
- - #{project.name}
- script: echo 'OK'
- only:
- - web
-
- YAML
- }
- ]
- )
- end
+ create(:commit, project: project, commit_message: 'Add .gitlab-ci.yml', actions: [
+ {
+ action: 'create',
+ file_path: '.gitlab-ci.yml',
+ content: <<~YAML
+ #{job_name}:
+ tags:
+ - #{project.name}
+ script: echo 'OK'
+ only:
+ - web
+ YAML
+ }
+ ])
end
before do
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb
index c5929dd1f49..b5ebcb9e48a 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb
@@ -18,48 +18,43 @@ module QA
end
let!(:ci_file) do
- 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
- default:
- tags: ["#{executor}"]
-
- stages:
- - Stage1
- - Stage2
- - Stage3
-
- Prep:
- stage: Stage1
- script: exit 0
- when: manual
-
- Build:
- stage: Stage2
- needs: ['Prep']
- script: exit 0
- parallel: 6
-
- Test:
- stage: Stage3
- needs: ['Build']
- script: exit 0
-
- Deploy:
- stage: Stage3
- needs: ['Test']
- script: exit 0
- parallel: 6
- YAML
- }
- ]
- )
- end
+ create(:commit, project: project, commit_message: 'Add .gitlab-ci.yml', actions: [
+ {
+ action: 'create',
+ file_path: '.gitlab-ci.yml',
+ content: <<~YAML
+ default:
+ tags: ["#{executor}"]
+
+ stages:
+ - Stage1
+ - Stage2
+ - Stage3
+
+ Prep:
+ stage: Stage1
+ script: exit 0
+ when: manual
+
+ Build:
+ stage: Stage2
+ needs: ['Prep']
+ script: exit 0
+ parallel: 6
+
+ Test:
+ stage: Stage3
+ needs: ['Build']
+ script: exit 0
+
+ Deploy:
+ stage: Stage3
+ needs: ['Test']
+ script: exit 0
+ parallel: 6
+ YAML
+ }
+ ])
end
before do
@@ -67,7 +62,7 @@ module QA
Flow::Login.sign_in
project.visit!
- Flow::Pipeline.visit_latest_pipeline(status: 'skipped')
+ Flow::Pipeline.visit_latest_pipeline(status: 'Skipped')
end
after do
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb
index 09d1fd331cd..a9413f036bb 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb
@@ -17,7 +17,7 @@ module QA
Flow::Login.sign_in
add_ci_files
project.visit!
- Flow::Pipeline.visit_latest_pipeline(status: 'passed')
+ Flow::Pipeline.visit_latest_pipeline(status: 'Passed')
end
after do
@@ -39,20 +39,14 @@ module QA
private
def add_ci_files
- Resource::Repository::Commit.fabricate_via_api! do |commit|
- commit.project = project
- commit.commit_message = 'Add parent and child pipelines CI files.'
- commit.add_files(
- [
- child_ci_file,
- parent_ci_file
- ]
- )
- end
+ create(:commit, project: project, commit_message: 'Add parent and child pipelines CI files.', actions: [
+ child_ci_file, parent_ci_file
+ ])
end
def parent_ci_file
{
+ action: 'create',
file_path: '.gitlab-ci.yml',
content: <<~YAML
build:
@@ -76,6 +70,7 @@ module QA
def child_ci_file
{
+ action: 'create',
file_path: '.child-pipeline.yml',
content: <<~YAML
child_build:
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb
index 6eea6756ee7..9aa4c7a0c34 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb
@@ -17,7 +17,7 @@ module QA
Flow::Login.sign_in
add_ci_files
project.visit!
- Flow::Pipeline.visit_latest_pipeline(status: 'passed')
+ Flow::Pipeline.visit_latest_pipeline(status: 'Passed')
end
after do
@@ -53,20 +53,12 @@ module QA
private
def add_ci_files
- Resource::Repository::Commit.fabricate_via_api! do |commit|
- commit.project = project
- commit.commit_message = 'Add parent and child pipelines CI files.'
- commit.add_files(
- [
- child_ci_file,
- parent_ci_file
- ]
- )
- end
+ create(:commit, project: project, commit_message: 'todo', actions: [child_ci_file, parent_ci_file])
end
def parent_ci_file
{
+ action: 'create',
file_path: '.gitlab-ci.yml',
content: <<~YAML
test:
@@ -89,6 +81,7 @@ module QA
def child_ci_file
{
+ action: 'create',
file_path: 'child.yml',
content: <<~YAML
test_vars:
diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb
index efd60b79ade..7c8567c7729 100644
--- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb
+++ b/qa/qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb
@@ -7,20 +7,15 @@ module QA
let(:project) { create(:project, name: 'pipeline-editor-project') }
let!(:commit) do
- 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
- 'This is to make pipeline fail immediately to save test execution time and resources.'
- YAML
- }
- ]
- )
- end
+ create(:commit, project: project, commit_message: 'Add .gitlab-ci.yml', actions: [
+ {
+ action: 'create',
+ file_path: '.gitlab-ci.yml',
+ content: <<~YAML
+ 'This is to make pipeline fail immediately to save test execution time and resources.'
+ YAML
+ }
+ ])
end
let(:new_content) do