2022-11-25 23:54:43 +05:30
|
|
|
include:
|
|
|
|
- local: .gitlab/ci/global.gitlab-ci.yml
|
|
|
|
- local: .gitlab/ci/rules.gitlab-ci.yml
|
|
|
|
|
|
|
|
.rules:dont-interrupt:
|
|
|
|
rules:
|
|
|
|
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
|
|
|
allow_failure: true
|
|
|
|
- if: $CI_MERGE_REQUEST_IID
|
|
|
|
when: manual
|
|
|
|
allow_failure: true
|
|
|
|
|
|
|
|
#######################
|
|
|
|
# rspec job base specs
|
|
|
|
.rails-job-base:
|
|
|
|
extends:
|
|
|
|
- .default-retry
|
|
|
|
- .default-before_script
|
|
|
|
- .rails-cache
|
|
|
|
|
|
|
|
.base-script:
|
|
|
|
script:
|
|
|
|
- source ./scripts/rspec_helpers.sh
|
|
|
|
# Only install knapsack after bundle install! Otherwise oddly some native
|
|
|
|
# gems could not be found under some circumstance. No idea why, hours wasted.
|
|
|
|
- run_timed_command "gem install knapsack --no-document"
|
|
|
|
- echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"
|
|
|
|
- run_timed_command "scripts/gitaly-test-spawn" # Do not use 'bundle exec' here
|
|
|
|
- echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"
|
|
|
|
|
2023-03-17 16:20:25 +05:30
|
|
|
.predictive-rspec-tests:
|
2022-11-25 23:54:43 +05:30
|
|
|
variables:
|
|
|
|
RSPEC_TESTS_MAPPING_ENABLED: "true"
|
|
|
|
|
|
|
|
.single-db:
|
|
|
|
variables:
|
|
|
|
DECOMPOSED_DB: "false"
|
|
|
|
|
2023-05-27 22:25:52 +05:30
|
|
|
.single-db-ci-connection:
|
|
|
|
extends: .single-db
|
|
|
|
variables:
|
|
|
|
CI_CONNECTION_DB: "true"
|
|
|
|
|
2022-11-25 23:54:43 +05:30
|
|
|
.single-db-rspec:
|
|
|
|
extends: .single-db
|
|
|
|
|
2023-05-27 22:25:52 +05:30
|
|
|
.single-db-ci-connection-rspec:
|
|
|
|
extends: .single-db-ci-connection
|
|
|
|
|
2022-11-25 23:54:43 +05:30
|
|
|
.praefect-with-db:
|
|
|
|
variables:
|
|
|
|
GITALY_PRAEFECT_WITH_DB: '1'
|
|
|
|
|
|
|
|
.rspec-base:
|
|
|
|
extends:
|
|
|
|
- .rails-job-base
|
|
|
|
- .base-artifacts
|
|
|
|
stage: test
|
|
|
|
variables:
|
|
|
|
RUBY_GC_MALLOC_LIMIT: 67108864
|
|
|
|
RUBY_GC_MALLOC_LIMIT_MAX: 134217728
|
|
|
|
RECORD_DEPRECATIONS: "true"
|
|
|
|
GEO_SECONDARY_PROXY: 0
|
|
|
|
RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_PATH}"
|
2023-03-04 22:38:38 +05:30
|
|
|
SUCCESSFULLY_RETRIED_TEST_EXIT_CODE: 137
|
2023-04-23 21:23:45 +05:30
|
|
|
needs:
|
|
|
|
- job: "setup-test-env"
|
|
|
|
- job: "retrieve-tests-metadata"
|
|
|
|
- job: "compile-test-assets"
|
|
|
|
- job: "detect-tests"
|
|
|
|
optional: true
|
2022-11-25 23:54:43 +05:30
|
|
|
script:
|
|
|
|
- !reference [.base-script, script]
|
2023-03-17 16:20:25 +05:30
|
|
|
# We need to exclude background migration because unit tests run with
|
|
|
|
# spec/lib, yet background migration tests are also sitting there,
|
|
|
|
# and they should run on their own jobs so we don't need to run them
|
|
|
|
# in unit tests again.
|
|
|
|
- rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"
|
2023-03-04 22:38:38 +05:30
|
|
|
allow_failure:
|
2023-03-17 16:20:25 +05:30
|
|
|
exit_codes: !reference [.rspec-base, variables, SUCCESSFULLY_RETRIED_TEST_EXIT_CODE]
|
2022-11-25 23:54:43 +05:30
|
|
|
|
|
|
|
.base-artifacts:
|
|
|
|
artifacts:
|
|
|
|
expire_in: 31d
|
|
|
|
when: always
|
|
|
|
paths:
|
|
|
|
- coverage/
|
|
|
|
- crystalball/
|
|
|
|
- deprecations/
|
|
|
|
- knapsack/
|
2023-03-04 22:38:38 +05:30
|
|
|
- query_recorder/
|
2022-11-25 23:54:43 +05:30
|
|
|
- rspec/
|
|
|
|
- tmp/capybara/
|
|
|
|
- log/*.log
|
|
|
|
reports:
|
|
|
|
junit: ${JUNIT_RESULT_FILE}
|
|
|
|
|
|
|
|
.rspec-base-migration:
|
|
|
|
script:
|
|
|
|
- !reference [.base-script, script]
|
2023-04-23 21:23:45 +05:30
|
|
|
- rspec_paralellized_job "--tag ~quarantine --tag ~zoekt"
|
2022-11-25 23:54:43 +05:30
|
|
|
|
|
|
|
.rspec-base-pg12:
|
|
|
|
extends:
|
|
|
|
- .rspec-base
|
|
|
|
- .use-pg12
|
|
|
|
|
|
|
|
.rspec-base-pg12-as-if-foss:
|
|
|
|
extends:
|
|
|
|
- .rspec-base
|
|
|
|
- .as-if-foss
|
|
|
|
- .use-pg12
|
2023-04-23 21:23:45 +05:30
|
|
|
needs:
|
|
|
|
- job: "setup-test-env"
|
|
|
|
- job: "retrieve-tests-metadata"
|
|
|
|
- job: "compile-test-assets as-if-foss"
|
|
|
|
- job: "detect-tests"
|
|
|
|
optional: true
|
2022-11-25 23:54:43 +05:30
|
|
|
|
|
|
|
.rspec-base-pg13:
|
|
|
|
extends:
|
|
|
|
- .rspec-base
|
|
|
|
- .use-pg13
|
|
|
|
|
|
|
|
.rspec-ee-base-pg12:
|
|
|
|
extends:
|
|
|
|
- .rspec-base
|
2023-01-13 00:05:48 +05:30
|
|
|
- .use-pg12-es7-ee
|
|
|
|
|
2022-11-25 23:54:43 +05:30
|
|
|
.rspec-ee-base-pg12-es8:
|
|
|
|
extends:
|
|
|
|
- .rspec-base
|
|
|
|
- .use-pg12-es8-ee
|
|
|
|
- .rails:rules:run-search-tests
|
|
|
|
|
|
|
|
.rspec-ee-base-pg12-opensearch1:
|
|
|
|
extends:
|
|
|
|
- .rspec-base
|
|
|
|
- .use-pg12-opensearch1-ee
|
|
|
|
- .rails:rules:run-search-tests
|
|
|
|
|
2023-01-13 00:05:48 +05:30
|
|
|
.rspec-ee-base-pg12-opensearch2:
|
|
|
|
extends:
|
|
|
|
- .rspec-base
|
|
|
|
- .use-pg12-opensearch2-ee
|
|
|
|
- .rails:rules:run-search-tests
|
|
|
|
|
2022-11-25 23:54:43 +05:30
|
|
|
.rspec-ee-base-pg13:
|
|
|
|
extends:
|
|
|
|
- .rspec-base
|
2023-01-13 00:05:48 +05:30
|
|
|
- .use-pg13-es7-ee
|
2022-11-25 23:54:43 +05:30
|
|
|
|
|
|
|
.db-job-base:
|
|
|
|
extends:
|
|
|
|
- .rails-job-base
|
|
|
|
- .rails:rules:ee-and-foss-migration
|
|
|
|
- .use-pg12
|
|
|
|
stage: test
|
|
|
|
needs: ["setup-test-env"]
|
|
|
|
# rspec job base specs
|
|
|
|
######################
|
|
|
|
|
|
|
|
############################
|
|
|
|
# rspec job parallel configs
|
|
|
|
.rspec-migration-parallel:
|
2023-03-17 16:20:25 +05:30
|
|
|
parallel: 8
|
2022-11-25 23:54:43 +05:30
|
|
|
|
2023-03-17 16:20:25 +05:30
|
|
|
.rspec-background-migration-parallel:
|
2022-11-25 23:54:43 +05:30
|
|
|
parallel: 4
|
|
|
|
|
2023-03-17 16:20:25 +05:30
|
|
|
.rspec-ee-migration-parallel:
|
|
|
|
parallel: 2
|
|
|
|
|
|
|
|
.rspec-ee-background-migration-parallel:
|
|
|
|
parallel: 2
|
|
|
|
|
2022-11-25 23:54:43 +05:30
|
|
|
.rspec-unit-parallel:
|
|
|
|
parallel: 28
|
|
|
|
|
|
|
|
.rspec-ee-unit-parallel:
|
|
|
|
parallel: 18
|
|
|
|
|
|
|
|
.rspec-integration-parallel:
|
|
|
|
parallel: 12
|
|
|
|
|
|
|
|
.rspec-ee-integration-parallel:
|
|
|
|
parallel: 6
|
|
|
|
|
|
|
|
.rspec-system-parallel:
|
|
|
|
parallel: 28
|
|
|
|
|
|
|
|
.rspec-ee-system-parallel:
|
|
|
|
parallel: 10
|
|
|
|
# rspec job parallel configs
|
|
|
|
############################
|