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 '.gitlab/ci/package-and-test/main.gitlab-ci.yml')
-rw-r--r--.gitlab/ci/package-and-test/main.gitlab-ci.yml107
1 files changed, 52 insertions, 55 deletions
diff --git a/.gitlab/ci/package-and-test/main.gitlab-ci.yml b/.gitlab/ci/package-and-test/main.gitlab-ci.yml
index 48059d9518f..0d30cb78be7 100644
--- a/.gitlab/ci/package-and-test/main.gitlab-ci.yml
+++ b/.gitlab/ci/package-and-test/main.gitlab-ci.yml
@@ -1,4 +1,5 @@
# E2E tests pipeline loaded dynamically by script: scripts/generate-e2e-pipeline
+# For adding new tests, refer to: doc/development/testing_guide/end_to_end/package_and_test_pipeline.md
default:
interruptible: true
@@ -7,7 +8,7 @@ include:
- local: .gitlab/ci/package-and-test/rules.gitlab-ci.yml
- local: .gitlab/ci/package-and-test/variables.gitlab-ci.yml
- project: gitlab-org/quality/pipeline-common
- ref: 1.14.1
+ ref: 2.0.0
file:
- /ci/base.gitlab-ci.yml
- /ci/allure-report.yml
@@ -57,15 +58,16 @@ stages:
optional: true
- job: download-knapsack-report
artifacts: true
+ optional: true
variables:
QA_GENERATE_ALLURE_REPORT: "true"
QA_CAN_TEST_PRAEFECT: "false"
QA_INTERCEPT_REQUESTS: "true"
QA_RUN_TYPE: e2e-package-and-test
- TEST_LICENSE_MODE: $QA_TEST_LICENSE_MODE
EE_LICENSE: $QA_EE_LICENSE
GITHUB_ACCESS_TOKEN: $QA_GITHUB_ACCESS_TOKEN
GITLAB_QA_ADMIN_ACCESS_TOKEN: $QA_ADMIN_ACCESS_TOKEN
+ GITLAB_LICENSE_MODE: test
# ==========================================
# Prepare stage
@@ -161,7 +163,7 @@ trigger-omnibus:
download-knapsack-report:
extends:
- .gitlab-qa-image
- - .rules:prepare
+ - .rules:download-knapsack
stage: .pre
variables:
KNAPSACK_DIR: ${CI_PROJECT_DIR}/qa/knapsack
@@ -216,13 +218,13 @@ _ee:quarantine:
# ------------------------------------------
# Run specs with feature flags set to the opposite of the default state
-ee:instance-parallel-ff-inverse:
+ee:instance-ff-inverse:
extends:
- .qa
- .parallel
variables:
QA_SCENARIO: Test::Instance::Image
- QA_KNAPSACK_REPORT_NAME: ee-instance-parallel
+ QA_KNAPSACK_REPORT_NAME: ee-instance
GITLAB_QA_OPTS: --set-feature-flags $QA_FEATURE_FLAGS
rules:
- !reference [.rules:test:feature-flags-set, rules]
@@ -230,140 +232,141 @@ ee:instance-parallel-ff-inverse:
# ------------------------------------------
# Jobs with parallel variant
# ------------------------------------------
-ee:instance:
+ee:instance-selective:
extends: .qa
variables:
QA_SCENARIO: Test::Instance::Image
rules:
- - !reference [.rules:test:qa-non-parallel, rules]
+ - !reference [.rules:test:qa-selective, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:instance-parallel:
+ee:instance:
extends:
- .parallel
- - ee:instance
+ - ee:instance-selective
rules:
- - !reference [.rules:test:feature-flags-set, rules] # always run instance-parallel to validate ff change
+ - !reference [.rules:test:feature-flags-set, rules] # always run ee:instance to validate ff change
- !reference [.rules:test:qa-parallel, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:praefect:
+ee:praefect-selective:
extends: .qa
variables:
QA_SCENARIO: Test::Integration::Praefect
QA_CAN_TEST_PRAEFECT: "true"
rules:
- - !reference [.rules:test:qa-non-parallel, rules]
+ - !reference [.rules:test:qa-selective, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:praefect-parallel:
+ee:praefect:
extends:
- .parallel
- - ee:praefect
+ - ee:praefect-selective
rules:
- !reference [.rules:test:qa-parallel, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:relative-url:
+ee:relative-url-selective:
extends: .qa
variables:
QA_SCENARIO: Test::Instance::RelativeUrl
rules:
- - !reference [.rules:test:qa-non-parallel, rules]
+ - !reference [.rules:test:qa-selective, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:relative-url-parallel:
+ee:relative-url:
extends:
- .parallel
- - ee:relative-url
+ - ee:relative-url-selective
rules:
- !reference [.rules:test:qa-parallel, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:decomposition-single-db:
+ee:decomposition-single-db-selective:
extends: .qa
variables:
QA_SCENARIO: Test::Instance::Image
GITLAB_QA_OPTS: --omnibus-config decomposition_single_db
rules:
- - !reference [.rules:test:qa-non-parallel, rules]
+ - !reference [.rules:test:qa-selective, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:decomposition-single-db-parallel:
+ee:decomposition-single-db:
extends:
- .parallel
- - ee:decomposition-single-db
+ - ee:decomposition-single-db-selective
rules:
- !reference [.rules:test:qa-parallel, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:decomposition-multiple-db:
+ee:decomposition-multiple-db-selective:
extends: .qa
variables:
QA_SCENARIO: Test::Instance::Image
+ GITLAB_ALLOW_SEPARATE_CI_DATABASE: "true"
GITLAB_QA_OPTS: --omnibus-config decomposition_multiple_db
rules:
- - !reference [.rules:test:qa-non-parallel, rules]
+ - !reference [.rules:test:qa-selective, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:decomposition-multiple-db-parallel:
+ee:decomposition-multiple-db:
extends:
- .parallel
- - ee:decomposition-multiple-db
+ - ee:decomposition-multiple-db-selective
rules:
- !reference [.rules:test:qa-parallel, rules]
- if: $QA_SUITES =~ /Test::Instance::All/
-ee:object-storage:
+ee:object-storage-selective:
extends: .qa
variables:
QA_SCENARIO: Test::Instance::Image
QA_RSPEC_TAGS: --tag object_storage
GITLAB_QA_OPTS: --omnibus-config object_storage
rules:
- - !reference [.rules:test:qa-non-parallel, rules]
+ - !reference [.rules:test:qa-selective, rules]
- if: $QA_SUITES =~ /Test::Instance::ObjectStorage/
-ee:object-storage-parallel:
- extends: ee:object-storage
+ee:object-storage:
+ extends: ee:object-storage-selective
parallel: 2
rules:
- !reference [.rules:test:qa-parallel, rules]
- if: $QA_SUITES =~ /Test::Instance::ObjectStorage/
-ee:object-storage-aws:
- extends: ee:object-storage
+ee:object-storage-aws-selective:
+ extends: ee:object-storage-selective
variables:
AWS_S3_ACCESS_KEY: $QA_AWS_S3_ACCESS_KEY
AWS_S3_BUCKET_NAME: $QA_AWS_S3_BUCKET_NAME
AWS_S3_KEY_ID: $QA_AWS_S3_KEY_ID
AWS_S3_REGION: $QA_AWS_S3_REGION
GITLAB_QA_OPTS: --omnibus-config object_storage_aws
-ee:object-storage-aws-parallel:
- extends: ee:object-storage-aws
+ee:object-storage-aws:
+ extends: ee:object-storage-aws-selective
parallel: 2
rules:
- - !reference [ee:object-storage-parallel, rules]
+ - !reference [ee:object-storage, rules]
-ee:object-storage-gcs:
- extends: ee:object-storage
+ee:object-storage-gcs-selective:
+ extends: ee:object-storage-selective
variables:
GCS_BUCKET_NAME: $QA_GCS_BUCKET_NAME
GOOGLE_PROJECT: $QA_GOOGLE_PROJECT
GOOGLE_JSON_KEY: $QA_GOOGLE_JSON_KEY
GOOGLE_CLIENT_EMAIL: $QA_GOOGLE_CLIENT_EMAIL
GITLAB_QA_OPTS: --omnibus-config object_storage_gcs
-ee:object-storage-gcs-parallel:
- extends: ee:object-storage-gcs
+ee:object-storage-gcs:
+ extends: ee:object-storage-gcs-selective
parallel: 2
rules:
- - !reference [ee:object-storage-parallel, rules]
+ - !reference [ee:object-storage, rules]
-ee:packages:
+ee:packages-selective:
extends: .qa
variables:
QA_SCENARIO: Test::Instance::Image
QA_RSPEC_TAGS: --tag packages
GITLAB_QA_OPTS: --omnibus-config packages
rules:
- - !reference [.rules:test:qa-non-parallel, rules]
+ - !reference [.rules:test:qa-selective, rules]
- if: $QA_SUITES =~ /Test::Instance::Packages/
-ee:packages-parallel:
- extends: ee:packages
+ee:packages:
+ extends: ee:packages-selective
parallel: 2
rules:
- !reference [.rules:test:qa-parallel, rules]
@@ -440,7 +443,7 @@ ee:jira:
JIRA_ADMIN_PASSWORD: $QA_JIRA_ADMIN_PASSWORD
rules:
- !reference [.rules:test:qa, rules]
- - if: $QA_SUITES =~ /Test::Instance::Jira/
+ - if: $QA_SUITES =~ /Test::Integration::Jira/
- !reference [.rules:test:manual, rules]
ee:integrations:
@@ -485,7 +488,7 @@ ee:mtls:
QA_SCENARIO: Test::Integration::MTLS
rules:
- !reference [.rules:test:qa, rules]
- - if: $QA_SUITES =~ /Test::Integration::MTLS/
+ - if: $QA_SUITES =~ /Test::Integration::Mtls/
- !reference [.rules:test:manual, rules]
ee:mattermost:
@@ -584,7 +587,6 @@ ee:elasticsearch:
variables:
QA_SCENARIO: "Test::Integration::Elasticsearch"
before_script:
- - unset ELASTIC_URL # unset url which is globally defined in .gitlab-ci.yml
- !reference [.qa, before_script]
rules:
- !reference [.rules:test:qa, rules]
@@ -592,7 +594,7 @@ ee:elasticsearch:
- !reference [.rules:test:manual, rules]
ee:registry-object-storage-tls:
- extends: ee:object-storage-aws
+ extends: ee:object-storage-aws-selective
variables:
QA_SCENARIO: Test::Integration::RegistryTLS
QA_RSPEC_TAGS: ""
@@ -619,16 +621,11 @@ e2e-test-report:
- .rules:report:allure-report
stage: report
variables:
- GITLAB_AUTH_TOKEN: $GITLAB_QA_MR_ALLURE_REPORT_TOKEN
+ GITLAB_AUTH_TOKEN: $PROJECT_TOKEN_FOR_CI_SCRIPTS_API_USAGE
ALLURE_PROJECT_PATH: $CI_PROJECT_PATH
ALLURE_MERGE_REQUEST_IID: $CI_MERGE_REQUEST_IID
ALLURE_JOB_NAME: e2e-package-and-test
GIT_STRATEGY: none
- artifacts: # save rspec results for displaying in parent pipeline
- expire_in: 1 day
- when: always
- paths:
- - gitlab-qa-run-*/**/rspec-*.xml
upload-knapsack-report:
extends:
@@ -658,7 +655,7 @@ relate-test-failures:
variables:
QA_FAILURES_REPORTING_PROJECT: gitlab-org/gitlab
QA_FAILURES_MAX_DIFF_RATIO: "0.15"
- GITLAB_QA_ACCESS_TOKEN: $GITLAB_QA_PRODUCTION_ACCESS_TOKEN
+ GITLAB_QA_ACCESS_TOKEN: $QA_GITLAB_CI_TOKEN
when: on_failure
script:
- |