debian-mirror-gitlab/.gitlab/ci/rails.gitlab-ci.yml

1104 lines
29 KiB
YAML
Raw Normal View History

2021-01-29 00:20:46 +05:30
#######################
2020-07-28 23:09:34 +05:30
# rspec job base specs
2020-03-13 15:44:24 +05:30
.rails-job-base:
2019-12-04 20:38:33 +05:30
extends:
- .default-retry
- .default-before_script
2020-05-24 23:13:21 +05:30
- .rails-cache
2019-12-04 20:38:33 +05:30
2021-04-17 20:07:23 +05:30
.base-script:
script:
# 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"
- run_timed_command "scripts/gitaly-test-spawn"
- source ./scripts/rspec_helpers.sh
2021-01-03 14:25:43 +05:30
2021-02-22 17:27:13 +05:30
.minimal-rspec-tests:
variables:
RSPEC_TESTS_MAPPING_ENABLED: "true"
2022-05-07 20:08:51 +05:30
.single-db:
2021-11-11 11:23:49 +05:30
variables:
2022-05-07 20:08:51 +05:30
DECOMPOSED_DB: "false"
2022-01-26 12:08:38 +05:30
2022-05-07 20:08:51 +05:30
.single-db-rspec:
extends: .single-db
2021-11-11 11:23:49 +05:30
2022-07-16 23:28:13 +05:30
.praefect-with-db:
variables:
GITALY_PRAEFECT_WITH_DB: '1'
2020-07-28 23:09:34 +05:30
.rspec-base:
2022-04-04 11:22:00 +05:30
extends:
- .rails-job-base
- .base-artifacts
2020-07-28 23:09:34 +05:30
stage: test
2021-01-03 14:25:43 +05:30
variables:
RUBY_GC_MALLOC_LIMIT: 67108864
RUBY_GC_MALLOC_LIMIT_MAX: 134217728
2021-02-22 17:27:13 +05:30
RECORD_DEPRECATIONS: "true"
2022-01-26 12:08:38 +05:30
GEO_SECONDARY_PROXY: 0
2021-02-22 17:27:13 +05:30
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
2020-07-28 23:09:34 +05:30
script:
2021-04-17 20:07:23 +05:30
- !reference [.base-script, script]
2022-07-16 23:28:13 +05:30
- rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"
2022-04-04 11:22:00 +05:30
.base-artifacts:
2020-07-28 23:09:34 +05:30
artifacts:
expire_in: 31d
when: always
paths:
- coverage/
2021-01-29 00:20:46 +05:30
- crystalball/
2021-02-22 17:27:13 +05:30
- deprecations/
2020-07-28 23:09:34 +05:30
- knapsack/
2022-04-04 11:22:00 +05:30
- rspec/
2020-07-28 23:09:34 +05:30
- tmp/capybara/
- log/*.log
reports:
2022-04-04 11:22:00 +05:30
junit: ${JUNIT_RESULT_FILE}
2020-07-28 23:09:34 +05:30
.rspec-base-migration:
2022-04-04 11:22:00 +05:30
extends:
- .base-artifacts
- .rails:rules:ee-and-foss-migration
2020-07-28 23:09:34 +05:30
script:
2021-04-17 20:07:23 +05:30
- !reference [.base-script, script]
2022-07-16 23:28:13 +05:30
- rspec_paralellized_job "--tag ~quarantine --tag level:migration"
2020-07-28 23:09:34 +05:30
.rspec-base-pg11:
extends:
- .rspec-base
- .use-pg11
.rspec-base-pg12:
extends:
- .rspec-base
- .use-pg12
2021-06-08 01:23:25 +05:30
.rspec-base-pg12-as-if-foss:
2020-07-28 23:09:34 +05:30
extends:
- .rspec-base
- .as-if-foss
2021-06-08 01:23:25 +05:30
- .use-pg12
2021-02-22 17:27:13 +05:30
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"]
2020-07-28 23:09:34 +05:30
2021-12-11 22:18:48 +05:30
.rspec-base-pg12-as-if-jh:
extends:
- .rspec-base
- .use-pg12
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-jh", "detect-tests", "add-jh-folder"]
2021-09-30 23:02:18 +05:30
.rspec-base-pg13:
extends:
- .rspec-base
- .use-pg13
2020-07-28 23:09:34 +05:30
.rspec-ee-base-pg11:
extends:
- .rspec-base
- .use-pg11-ee
.rspec-ee-base-pg12:
extends:
- .rspec-base
- .use-pg12-ee
2022-07-16 23:28:13 +05:30
.rspec-ee-base-pg12-es8:
2021-09-30 23:02:18 +05:30
extends:
- .rspec-base
2022-07-16 23:28:13 +05:30
- .use-pg12-es8-ee
- .rails:rules:run-search-tests
2021-09-30 23:02:18 +05:30
2022-07-16 23:28:13 +05:30
.rspec-ee-base-pg12-opensearch1:
2020-07-28 23:09:34 +05:30
extends:
2022-07-16 23:28:13 +05:30
- .rspec-base
- .use-pg12-opensearch1-ee
- .rails:rules:run-search-tests
2020-07-28 23:09:34 +05:30
2022-07-16 23:28:13 +05:30
.rspec-jh-base-pg12:
2020-07-28 23:09:34 +05:30
extends:
2022-07-16 23:28:13 +05:30
- .rspec-base-pg12-as-if-jh
2020-07-28 23:09:34 +05:30
- .use-pg12-ee
2022-07-16 23:28:13 +05:30
.rspec-ee-base-pg13:
2021-09-30 23:02:18 +05:30
extends:
2022-07-16 23:28:13 +05:30
- .rspec-base
2021-09-30 23:02:18 +05:30
- .use-pg13-ee
2020-07-28 23:09:34 +05:30
.db-job-base:
extends:
- .rails-job-base
- .rails:rules:ee-and-foss-migration
2021-06-08 01:23:25 +05:30
- .use-pg12
2020-07-28 23:09:34 +05:30
stage: test
needs: ["setup-test-env"]
# rspec job base specs
######################
############################
# rspec job parallel configs
.rspec-migration-parallel:
2021-09-30 23:02:18 +05:30
parallel: 9
2020-07-28 23:09:34 +05:30
.rspec-ee-migration-parallel:
2021-06-08 01:23:25 +05:30
parallel: 3
2020-07-28 23:09:34 +05:30
.rspec-unit-parallel:
2022-01-26 12:08:38 +05:30
parallel: 22
2020-07-28 23:09:34 +05:30
.rspec-ee-unit-parallel:
2022-07-16 23:28:13 +05:30
parallel: 16
2020-07-28 23:09:34 +05:30
.rspec-integration-parallel:
2022-01-26 12:08:38 +05:30
parallel: 10
2020-07-28 23:09:34 +05:30
.rspec-ee-integration-parallel:
parallel: 4
.rspec-system-parallel:
parallel: 24
.rspec-ee-system-parallel:
parallel: 6
# rspec job parallel configs
############################
2022-05-07 20:08:51 +05:30
###############################################################
2021-04-29 21:17:54 +05:30
# EE/FOSS: default refs (MRs, default branch, schedules) jobs #
2020-05-24 23:13:21 +05:30
setup-test-env:
2019-12-21 20:55:43 +05:30
extends:
2020-03-13 15:44:24 +05:30
- .rails-job-base
2021-03-11 19:13:27 +05:30
- .setup-test-env-cache
2021-12-11 22:18:48 +05:30
- .rails:rules:setup-test-env
2019-12-21 20:55:43 +05:30
stage: prepare
2020-05-24 23:13:21 +05:30
variables:
2021-09-30 23:02:18 +05:30
SETUP_DB: "false"
2019-12-21 20:55:43 +05:30
script:
2022-05-07 20:08:51 +05:30
- source scripts/gitlab_workhorse_component_helpers.sh
- run_timed_command "download_and_extract_gitlab_workhorse_package" || true
2021-09-30 23:02:18 +05:30
- run_timed_command "scripts/setup-test-env"
2022-05-07 20:08:51 +05:30
- run_timed_command "select_gitlab_workhorse_essentials"
2021-09-30 23:02:18 +05:30
- echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-build[collapsed=true]\r\e[0KCompiling Gitaly binaries"
2020-05-24 23:13:21 +05:30
- run_timed_command "scripts/gitaly-test-build" # Do not use 'bundle exec' here
2021-09-30 23:02:18 +05:30
- echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-build\r\e[0K"
2019-12-21 20:55:43 +05:30
artifacts:
expire_in: 7d
paths:
- config/secrets.yml
2022-05-07 20:08:51 +05:30
- ${TMP_TEST_FOLDER}/gitaly/_build/bin/
- ${TMP_TEST_FOLDER}/gitaly/_build/deps/git/install
- ${TMP_TEST_FOLDER}/gitaly/config.toml
- ${TMP_TEST_FOLDER}/gitaly/gitaly2.config.toml
- ${TMP_TEST_FOLDER}/gitaly/internal/
2022-06-21 17:19:12 +05:30
- ${TMP_TEST_FOLDER}/gitaly/run/
- ${TMP_TEST_FOLDER}/gitaly/run2/
2022-05-07 20:08:51 +05:30
- ${TMP_TEST_FOLDER}/gitaly/Makefile
- ${TMP_TEST_FOLDER}/gitaly/praefect.config.toml
2022-07-16 23:28:13 +05:30
- ${TMP_TEST_FOLDER}/gitaly/praefect-db.config.toml
2022-05-07 20:08:51 +05:30
- ${TMP_TEST_FOLDER}/gitaly/ruby/
- ${TMP_TEST_FOLDER}/gitlab-elasticsearch-indexer/bin/gitlab-elasticsearch-indexer
- ${TMP_TEST_FOLDER}/gitlab-shell/
- ${TMP_TEST_FOLDER}/gitlab-test-fork/
- ${TMP_TEST_FOLDER}/gitlab-test-fork_bare/
- ${TMP_TEST_FOLDER}/gitlab-test/
- ${TMP_TEST_FOLDER}/repositories/
- ${TMP_TEST_FOLDER}/second_storage/
- ${TMP_TEST_GITLAB_WORKHORSE_PATH}/
2020-05-24 23:13:21 +05:30
when: always
2020-06-23 00:09:42 +05:30
2022-05-07 20:08:51 +05:30
build-components:
extends:
- setup-test-env
- .rails:rules:build-components
script:
- source scripts/gitlab_workhorse_component_helpers.sh
- 'gitlab_workhorse_archive_doesnt_exist || { echoinfo "INFO: Exiting early as package exists."; exit 0; }'
- run_timed_command "scripts/setup-test-env"
- run_timed_command "select_gitlab_workhorse_essentials"
- run_timed_command "create_gitlab_workhorse_package"
- run_timed_command "upload_gitlab_workhorse_package"
artifacts:
expire_in: 7d
paths:
- ${TMP_TEST_GITLAB_WORKHORSE_PATH}/
2021-03-11 19:13:27 +05:30
update-setup-test-env-cache:
2020-06-23 00:09:42 +05:30
extends:
- setup-test-env
2021-06-08 01:23:25 +05:30
- .setup-test-env-cache-push
2020-06-23 00:09:42 +05:30
- .shared:rules:update-cache
2021-03-11 19:13:27 +05:30
artifacts:
paths: [] # This job's purpose is only to update the cache.
2020-06-23 00:09:42 +05:30
2021-09-04 01:27:46 +05:30
update-gitaly-binaries-cache:
extends:
- setup-test-env
- .gitaly-binaries-cache-push
- .shared:rules:update-gitaly-binaries-cache
artifacts:
paths: [] # This job's purpose is only to update the cache.
2021-01-03 14:25:43 +05:30
.coverage-base:
extends:
- .default-retry
- .coverage-cache
2021-12-11 22:18:48 +05:30
before_script:
- source scripts/utils.sh
- export BUNDLE_WITHOUT="${BUNDLE_WITHOUT}:default:test:puma:kerberos:metrics:omnibus:ed25519"
- bundle_install_script
2021-01-03 14:25:43 +05:30
2021-06-08 01:23:25 +05:30
rspec migration pg12:
extends:
- .rspec-base-pg12
2020-03-13 15:44:24 +05:30
- .rspec-base-migration
2020-07-28 23:09:34 +05:30
- .rspec-migration-parallel
2019-12-26 22:10:19 +05:30
2021-06-08 01:23:25 +05:30
rspec migration pg12 minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec migration pg12
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-migration:minimal
2022-05-07 20:08:51 +05:30
rspec migration pg12 single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec migration pg12
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2022-07-16 23:28:13 +05:30
rspec migration pg12 praefect:
extends:
- rspec migration pg12
- .praefect-with-db
- .rails:rules:praefect-with-db
2021-06-08 01:23:25 +05:30
rspec unit pg12:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-and-foss-unit
- .rspec-unit-parallel
2019-07-31 22:56:46 +05:30
2021-06-08 01:23:25 +05:30
rspec unit pg12 minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec unit pg12
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-unit:minimal
2022-05-07 20:08:51 +05:30
rspec unit pg12 single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec unit pg12
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2022-07-16 23:28:13 +05:30
rspec unit pg12 praefect:
extends:
- rspec unit pg12
- .praefect-with-db
- .rails:rules:praefect-with-db
2021-06-08 01:23:25 +05:30
rspec integration pg12:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-and-foss-integration
- .rspec-integration-parallel
2019-09-04 21:01:54 +05:30
2021-06-08 01:23:25 +05:30
rspec integration pg12 minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec integration pg12
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-integration:minimal
2022-05-07 20:08:51 +05:30
rspec integration pg12 single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec integration pg12
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2022-07-16 23:28:13 +05:30
rspec integration pg12 praefect:
extends:
- rspec integration pg12
- .praefect-with-db
- .rails:rules:praefect-with-db
2021-06-08 01:23:25 +05:30
rspec system pg12:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-and-foss-system
- .rspec-system-parallel
2022-04-04 11:22:00 +05:30
variables:
DEBUG_GITLAB_TRANSACTION_STACK: "true"
2019-09-04 21:01:54 +05:30
2021-06-08 01:23:25 +05:30
rspec system pg12 minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec system pg12
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-system:minimal
2022-05-07 20:08:51 +05:30
rspec system pg12 single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec system pg12
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2022-07-16 23:28:13 +05:30
rspec system pg12 praefect:
extends:
- rspec system pg12
- .praefect-with-db
- .rails:rules:praefect-with-db
2021-06-08 01:23:25 +05:30
# Dedicated job to test DB library code against PG11.
# Note that these are already tested against PG12 in the `rspec unit pg12` / `rspec-ee unit pg12` jobs.
rspec db-library-code pg11:
2021-03-08 18:12:59 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg11
2021-03-08 18:12:59 +05:30
- .rails:rules:ee-and-foss-db-library-code
script:
2021-04-17 20:07:23 +05:30
- !reference [.base-script, script]
2021-03-08 18:12:59 +05:30
- rspec_db_library_code
2019-12-21 20:55:43 +05:30
rspec fast_spec_helper:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-and-foss-fast_spec_helper
2019-12-21 20:55:43 +05:30
script:
2022-04-04 11:22:00 +05:30
- fast_spec_helper_specs=$(git grep -l -E '^require.*fast_spec_helper')
# Load fast_spec_helper as well just in case there are no specs available.
- bin/rspec --dry-run spec/fast_spec_helper.rb $fast_spec_helper_specs
2021-02-22 17:27:13 +05:30
2021-12-11 22:18:48 +05:30
db:rollback:
2019-12-04 20:38:33 +05:30
extends: .db-job-base
script:
2022-03-02 08:16:31 +05:30
- scripts/db_tasks db:migrate VERSION=20210301200959
2022-01-26 12:08:38 +05:30
- scripts/db_tasks db:migrate SKIP_SCHEMA_VERSION_CHECK=true
2022-05-07 20:08:51 +05:30
db:rollback single-db:
2022-01-26 12:08:38 +05:30
extends:
- db:rollback
2022-05-07 20:08:51 +05:30
- .single-db
- .rails:rules:single-db
2019-07-31 22:56:46 +05:30
2021-12-11 22:18:48 +05:30
db:migrate:reset:
extends: .db-job-base
2021-03-08 18:12:59 +05:30
script:
2021-12-11 22:18:48 +05:30
- bundle exec rake db:migrate:reset
2021-03-08 18:12:59 +05:30
2022-05-07 20:08:51 +05:30
db:migrate:reset single-db:
2022-03-02 08:16:31 +05:30
extends:
- db:migrate:reset
2022-05-07 20:08:51 +05:30
- .single-db
- .rails:rules:single-db
2022-03-02 08:16:31 +05:30
2021-04-29 21:17:54 +05:30
db:migrate-from-previous-major-version:
2019-12-04 20:38:33 +05:30
extends: .db-job-base
variables:
2021-04-29 21:17:54 +05:30
USE_BUNDLE_INSTALL: "false"
2019-12-04 20:38:33 +05:30
SETUP_DB: "false"
2021-04-29 21:17:54 +05:30
PROJECT_TO_CHECKOUT: "gitlab-foss"
2021-11-11 11:23:49 +05:30
TAG_TO_CHECKOUT: "v13.12.9"
2021-12-11 22:18:48 +05:30
before_script:
- !reference [.default-before_script, before_script]
2021-04-29 21:17:54 +05:30
- '[[ -d "ee/" ]] || export PROJECT_TO_CHECKOUT="gitlab"'
- '[[ -d "ee/" ]] || export TAG_TO_CHECKOUT="${TAG_TO_CHECKOUT}-ee"'
2021-02-22 17:27:13 +05:30
- retry 'git fetch https://gitlab.com/gitlab-org/$PROJECT_TO_CHECKOUT.git $TAG_TO_CHECKOUT'
2019-12-04 20:38:33 +05:30
- git checkout -f FETCH_HEAD
2021-09-30 23:02:18 +05:30
- SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh
2021-04-29 21:17:54 +05:30
- run_timed_command "bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu"
2019-12-04 20:38:33 +05:30
- git checkout -f $CI_COMMIT_SHA
2021-09-30 23:02:18 +05:30
- SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh
2021-12-11 22:18:48 +05:30
script:
2022-01-26 12:08:38 +05:30
- run_timed_command "scripts/db_tasks db:migrate"
2019-07-31 22:56:46 +05:30
2022-05-07 20:08:51 +05:30
db:migrate-from-previous-major-version-single-db:
2021-12-11 22:18:48 +05:30
extends:
- db:migrate-from-previous-major-version
2022-05-07 20:08:51 +05:30
- .single-db
- .rails:rules:single-db
2022-01-26 12:08:38 +05:30
.db:check-schema-base:
extends:
2021-12-11 22:18:48 +05:30
- .rails:rules:ee-mr-and-default-branch-only
variables:
TAG_TO_CHECKOUT: "v14.4.0"
2019-07-31 22:56:46 +05:30
script:
2022-01-26 12:08:38 +05:30
- run_timed_command "scripts/db_tasks db:migrate"
2021-12-11 22:18:48 +05:30
- scripts/schema_changed.sh
- scripts/validate_migration_timestamps
2022-01-26 12:08:38 +05:30
db:check-schema:
extends:
- db:migrate-from-previous-major-version
- .db:check-schema-base
2022-05-07 20:08:51 +05:30
db:check-schema-single-db:
2022-01-26 12:08:38 +05:30
extends:
2022-05-07 20:08:51 +05:30
- db:migrate-from-previous-major-version-single-db
2022-01-26 12:08:38 +05:30
- .db:check-schema-base
2021-12-11 22:18:48 +05:30
db:check-migrations:
extends:
- .db-job-base
- .rails:rules:ee-and-foss-mr-with-migration
script:
- git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME:$CI_MERGE_REQUEST_TARGET_BRANCH_NAME --depth 20
- scripts/validate_migration_schema
allow_failure: true
2019-07-31 22:56:46 +05:30
2022-05-07 20:08:51 +05:30
db:check-migrations-single-db:
2022-01-26 12:08:38 +05:30
extends:
- db:check-migrations
2022-05-07 20:08:51 +05:30
- .single-db
- .rails:rules:single-db
2022-01-26 12:08:38 +05:30
2022-04-04 11:22:00 +05:30
db:migrate-non-superuser:
extends:
- .db-job-base
- .rails:rules:ee-and-foss-mr-with-migration
script:
- bundle exec rake gitlab:db:reset_as_non_superuser
2021-03-11 19:13:27 +05:30
db:gitlabcom-database-testing:
extends: .rails:rules:db:gitlabcom-database-testing
stage: test
image: ruby:2.7-alpine
needs: []
allow_failure: true
script:
- source scripts/utils.sh
- install_gitlab_gem
2022-04-04 11:22:00 +05:30
- ./scripts/trigger-build.rb gitlab-com-database-testing
2021-03-11 19:13:27 +05:30
2019-12-04 20:38:33 +05:30
gitlab:setup:
extends: .db-job-base
variables:
SETUP_DB: "false"
script:
# Manually clone gitlab-test and only seed this project in
# db/fixtures/development/04_project.rb thanks to SIZE=1 below
- git clone https://gitlab.com/gitlab-org/gitlab-test.git
/home/git/repositories/gitlab-org/gitlab-test.git
2021-04-17 20:07:23 +05:30
- !reference [.base-script, script]
2019-12-04 20:38:33 +05:30
- force=yes SIZE=1 FIXTURE_PATH="db/fixtures/development" bundle exec rake gitlab:setup
artifacts:
when: on_failure
expire_in: 1d
paths:
2020-05-24 23:13:21 +05:30
- log/*.log
2019-07-31 22:56:46 +05:30
2020-11-24 15:15:51 +05:30
db:backup_and_restore:
extends: .db-job-base
variables:
SETUP_DB: "false"
GITLAB_ASSUME_YES: "1"
script:
- . scripts/prepare_build.sh
- bundle exec rake db:drop db:create db:structure:load db:seed_fu
2022-03-02 08:16:31 +05:30
- mkdir -p tmp/tests/public/uploads tmp/tests/{artifacts,pages,lfs-objects,terraform_state,registry,packages}
2020-11-24 15:15:51 +05:30
- bundle exec rake gitlab:backup:create
- date
- bundle exec rake gitlab:backup:restore
rules:
2021-10-27 15:23:28 +05:30
- changes:
- "lib/backup/**/*"
- "lib/tasks/gitlab/backup.rake"
2020-11-24 15:15:51 +05:30
2021-03-08 18:12:59 +05:30
rspec:deprecations:
extends:
- .default-retry
- .default-before_script
- .static-analysis-cache
- .rails:rules:deprecations
stage: post-test
allow_failure: true
# We cannot use needs since it would mean needing 84 jobs (since most are parallelized)
# so we use `dependencies` here.
dependencies:
2021-06-08 01:23:25 +05:30
- rspec migration pg12
- rspec unit pg12
- rspec integration pg12
- rspec system pg12
- rspec-ee migration pg12
- rspec-ee unit pg12
- rspec-ee integration pg12
- rspec-ee system pg12
2021-03-08 18:12:59 +05:30
variables:
SETUP_DB: "false"
script:
2021-03-11 19:13:27 +05:30
- grep -h -R "keyword" deprecations/ | awk '{$1=$1};1' | sort | uniq -c | sort
- grep -R "keyword" deprecations/ | wc
2021-03-08 18:12:59 +05:30
- run_timed_command "bundle exec rubocop --only Lint/LastKeywordArgument --parallel"
artifacts:
expire_in: 31d
when: always
paths:
- deprecations/
2020-04-08 14:13:33 +05:30
rspec:coverage:
2020-03-13 15:44:24 +05:30
extends:
2021-01-03 14:25:43 +05:30
- .coverage-base
2020-07-28 23:09:34 +05:30
- .rails:rules:rspec-coverage
2020-03-13 15:44:24 +05:30
stage: post-test
2020-04-22 19:07:51 +05:30
# We cannot use needs since it would mean needing 84 jobs (since most are parallelized)
# so we use `dependencies` here.
dependencies:
2020-05-24 23:13:21 +05:30
- setup-test-env
2021-12-11 22:18:48 +05:30
# FOSS/EE jobs
2021-06-08 01:23:25 +05:30
- rspec migration pg12
- rspec unit pg12
- rspec integration pg12
- rspec system pg12
2021-12-11 22:18:48 +05:30
# FOSS/EE minimal jobs
- rspec migration pg12 minimal
- rspec unit pg12 minimal
- rspec integration pg12 minimal
- rspec system pg12 minimal
2022-05-07 20:08:51 +05:30
# FOSS/EE single-db jobs
- rspec migration pg12 single-db
- rspec unit pg12 single-db
- rspec integration pg12 single-db
- rspec system pg12 single-db
2021-12-11 22:18:48 +05:30
# EE jobs
2021-06-08 01:23:25 +05:30
- rspec-ee migration pg12
- rspec-ee unit pg12
- rspec-ee integration pg12
- rspec-ee system pg12
2021-12-11 22:18:48 +05:30
# EE minimal jobs
- rspec-ee migration pg12 minimal
- rspec-ee unit pg12 minimal
- rspec-ee integration pg12 minimal
- rspec-ee system pg12 minimal
2022-05-07 20:08:51 +05:30
# EE single-db jobs
- rspec-ee migration pg12 single-db
- rspec-ee unit pg12 single-db
- rspec-ee integration pg12 single-db
- rspec-ee system pg12 single-db
2021-12-11 22:18:48 +05:30
# Memory jobs
2020-04-22 19:07:51 +05:30
- memory-on-boot
2022-01-26 12:08:38 +05:30
# As-if-FOSS jobs
- rspec migration pg12-as-if-foss
- rspec migration pg12-as-if-foss minimal
2022-05-07 20:08:51 +05:30
- rspec migration pg12-as-if-foss single-db
2022-01-26 12:08:38 +05:30
- rspec unit pg12-as-if-foss
- rspec unit pg12-as-if-foss minimal
2022-05-07 20:08:51 +05:30
- rspec unit pg12-as-if-foss single-db
2022-01-26 12:08:38 +05:30
- rspec integration pg12-as-if-foss
- rspec integration pg12-as-if-foss minimal
2022-05-07 20:08:51 +05:30
- rspec integration pg12-as-if-foss single-db
2022-01-26 12:08:38 +05:30
- rspec system pg12-as-if-foss
- rspec system pg12-as-if-foss minimal
2022-05-07 20:08:51 +05:30
- rspec system pg12-as-if-foss single-db
2019-07-31 22:56:46 +05:30
script:
2021-01-03 14:25:43 +05:30
- run_timed_command "bundle exec scripts/merge-simplecov"
2019-07-31 22:56:46 +05:30
coverage: '/LOC \((\d+\.\d+%)\) covered.$/'
artifacts:
name: coverage
expire_in: 31d
paths:
2019-09-04 21:01:54 +05:30
- coverage/index.html
- coverage/assets/
2022-01-26 12:08:38 +05:30
- coverage/lcov/
2020-07-28 23:09:34 +05:30
reports:
2022-06-02 21:05:25 +05:30
coverage_report:
coverage_format: cobertura
path: coverage/coverage.xml
2021-01-03 14:25:43 +05:30
2022-01-26 12:08:38 +05:30
rspec:undercoverage:
extends:
- .coverage-base
- .rails:rules:rspec-undercoverage
stage: post-test
needs: ["rspec:coverage"]
script:
- if [ -n "$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA" ]; then
echo "Checking out \$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA ($CI_MERGE_REQUEST_SOURCE_BRANCH_SHA) instead of \$CI_COMMIT_SHA (merge result commit $CI_COMMIT_SHA) so we can use $CI_MERGE_REQUEST_DIFF_BASE_SHA for undercoverage in this merged result pipeline";
git checkout -f ${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA};
bundle_install_script;
else
echo "Using \$CI_COMMIT_SHA ($CI_COMMIT_SHA) for this non-merge result pipeline.";
fi;
2022-03-02 08:16:31 +05:30
- UNDERCOVERAGE_COMPARE="${CI_MERGE_REQUEST_DIFF_BASE_SHA:-$(git merge-base origin/master HEAD)}"
- echo "Undercoverage comparing with ${UNDERCOVERAGE_COMPARE}"
2022-01-26 12:08:38 +05:30
- if [ -f scripts/undercoverage ]; then
2022-03-02 08:16:31 +05:30
run_timed_command "scripts/undercoverage ${UNDERCOVERAGE_COMPARE}";
2022-01-26 12:08:38 +05:30
fi;
2021-01-03 14:25:43 +05:30
rspec:feature-flags:
extends:
- .coverage-base
- .rails:rules:rspec-feature-flags
stage: post-test
2021-12-11 22:18:48 +05:30
needs:
- job: "feature-flags-usage"
- job: "haml-lint foss"
- job: "haml-lint ee"
optional: true
2021-01-03 14:25:43 +05:30
script:
2021-03-11 19:13:27 +05:30
- if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
run_timed_command "bundle exec scripts/used-feature-flags" || (scripts/slack master-broken "☠️ \`${CI_JOB_NAME}\` failed! ☠️ See ${CI_JOB_URL}" ci_failing "GitLab Bot" && exit 1);
else
run_timed_command "bundle exec scripts/used-feature-flags";
fi
2021-02-22 17:27:13 +05:30
2022-04-04 11:22:00 +05:30
rspec:flaky-tests-report:
2021-12-11 22:18:48 +05:30
extends:
- .default-retry
2022-04-04 11:22:00 +05:30
- .rails:rules:flaky-tests-report
2021-12-11 22:18:48 +05:30
stage: post-test
# We cannot use needs since it would mean needing 84 jobs (since most are parallelized)
# so we use `dependencies` here.
2022-04-04 11:22:00 +05:30
dependencies: !reference ["rspec:coverage", "dependencies"]
2021-12-11 22:18:48 +05:30
variables:
2022-04-04 11:22:00 +05:30
SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_report.txt
RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_report.txt
2021-12-11 22:18:48 +05:30
before_script:
2022-04-04 11:22:00 +05:30
- source scripts/utils.sh
- source scripts/rspec_helpers.sh
2021-12-11 22:18:48 +05:30
script:
2022-04-04 11:22:00 +05:30
- generate_flaky_tests_reports
2021-12-11 22:18:48 +05:30
artifacts:
expire_in: 31d
paths:
2022-04-04 11:22:00 +05:30
- rspec/
2021-12-11 22:18:48 +05:30
2021-04-29 21:17:54 +05:30
# EE/FOSS: default refs (MRs, default branch, schedules) jobs #
2020-05-24 23:13:21 +05:30
#######################################################
2020-03-13 15:44:24 +05:30
2020-05-24 23:13:21 +05:30
##################################################
2021-04-29 21:17:54 +05:30
# EE: default refs (MRs, default branch, schedules) jobs #
2021-06-08 01:23:25 +05:30
rspec migration pg12-as-if-foss:
2020-03-13 15:44:24 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12-as-if-foss
2020-03-13 15:44:24 +05:30
- .rspec-base-migration
2020-07-28 23:09:34 +05:30
- .rails:rules:as-if-foss-migration
- .rspec-migration-parallel
2020-03-13 15:44:24 +05:30
2021-06-08 01:23:25 +05:30
rspec migration pg12-as-if-foss minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec migration pg12-as-if-foss
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:as-if-foss-migration:minimal
2022-05-07 20:08:51 +05:30
rspec migration pg12-as-if-foss single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec migration pg12-as-if-foss
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2021-06-08 01:23:25 +05:30
rspec unit pg12-as-if-foss:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12-as-if-foss
2020-07-28 23:09:34 +05:30
- .rails:rules:as-if-foss-unit
- .rspec-unit-parallel
2020-03-13 15:44:24 +05:30
2021-06-08 01:23:25 +05:30
rspec unit pg12-as-if-foss minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec unit pg12-as-if-foss
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:as-if-foss-unit:minimal
2022-05-07 20:08:51 +05:30
rspec unit pg12-as-if-foss single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec unit pg12-as-if-foss
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2021-06-08 01:23:25 +05:30
rspec integration pg12-as-if-foss:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12-as-if-foss
2020-07-28 23:09:34 +05:30
- .rails:rules:as-if-foss-integration
- .rspec-integration-parallel
2020-03-13 15:44:24 +05:30
2021-06-08 01:23:25 +05:30
rspec integration pg12-as-if-foss minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec integration pg12-as-if-foss
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:as-if-foss-integration:minimal
2022-05-07 20:08:51 +05:30
rspec integration pg12-as-if-foss single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec integration pg12-as-if-foss
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2021-06-08 01:23:25 +05:30
rspec system pg12-as-if-foss:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12-as-if-foss
2020-07-28 23:09:34 +05:30
- .rails:rules:as-if-foss-system
- .rspec-system-parallel
2020-03-13 15:44:24 +05:30
2021-06-08 01:23:25 +05:30
rspec system pg12-as-if-foss minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec system pg12-as-if-foss
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:as-if-foss-system:minimal
2022-05-07 20:08:51 +05:30
rspec system pg12-as-if-foss single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec system pg12-as-if-foss
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2021-12-11 22:18:48 +05:30
rspec migration pg12-as-if-jh:
extends:
- .rspec-base-pg12-as-if-jh
- .rspec-base-migration
- .rails:rules:as-if-jh-rspec
- .rspec-migration-parallel
rspec unit pg12-as-if-jh:
extends:
- .rspec-base-pg12-as-if-jh
- .rails:rules:as-if-jh-rspec
- .rspec-unit-parallel
rspec integration pg12-as-if-jh:
extends:
- .rspec-base-pg12-as-if-jh
- .rails:rules:as-if-jh-rspec
- .rspec-integration-parallel
rspec system pg12-as-if-jh:
extends:
- .rspec-base-pg12-as-if-jh
- .rails:rules:as-if-jh-rspec
- .rspec-system-parallel
2021-06-08 01:23:25 +05:30
rspec-ee migration pg12:
2020-03-13 15:44:24 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg12
2020-03-13 15:44:24 +05:30
- .rspec-base-migration
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-only-migration
- .rspec-ee-migration-parallel
2020-03-13 15:44:24 +05:30
2021-06-08 01:23:25 +05:30
rspec-ee migration pg12 minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec-ee migration pg12
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:ee-only-migration:minimal
2022-05-07 20:08:51 +05:30
rspec-ee migration pg12 single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec-ee migration pg12
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2021-06-08 01:23:25 +05:30
rspec-ee unit pg12:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg12
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-only-unit
- .rspec-ee-unit-parallel
2020-03-13 15:44:24 +05:30
2022-07-16 23:28:13 +05:30
rspec-ee unit pg12 es8:
extends:
- .rspec-ee-base-pg12-es8
- .rspec-ee-unit-parallel
rspec-ee unit pg12 opensearch1:
extends:
- .rspec-ee-base-pg12-opensearch1
- .rspec-ee-unit-parallel
2021-06-08 01:23:25 +05:30
rspec-ee unit pg12 minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec-ee unit pg12
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:ee-only-unit:minimal
2022-05-07 20:08:51 +05:30
rspec-ee unit pg12 single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec-ee unit pg12
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2021-06-08 01:23:25 +05:30
rspec-ee integration pg12:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg12
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-only-integration
- .rspec-ee-integration-parallel
2020-03-13 15:44:24 +05:30
2022-07-16 23:28:13 +05:30
rspec-ee integration pg12 es8:
extends:
- .rspec-ee-base-pg12-es8
- .rspec-ee-integration-parallel
rspec-ee integration pg12 opensearch1:
extends:
- .rspec-ee-base-pg12-opensearch1
- .rspec-ee-integration-parallel
2021-06-08 01:23:25 +05:30
rspec-ee integration pg12 minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec-ee integration pg12
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:ee-only-integration:minimal
2022-05-07 20:08:51 +05:30
rspec-ee integration pg12 single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec-ee integration pg12
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2021-06-08 01:23:25 +05:30
rspec-ee system pg12:
2020-03-13 15:44:24 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg12
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-only-system
- .rspec-ee-system-parallel
2020-03-13 15:44:24 +05:30
2022-07-16 23:28:13 +05:30
rspec-ee system pg12 es8:
extends:
- .rspec-ee-base-pg12-es8
- .rspec-ee-system-parallel
rspec-ee system pg12 opensearch1:
extends:
- .rspec-ee-base-pg12-opensearch1
- .rspec-ee-system-parallel
2021-06-08 01:23:25 +05:30
rspec-ee system pg12 minimal:
2021-02-22 17:27:13 +05:30
extends:
2021-06-08 01:23:25 +05:30
- rspec-ee system pg12
2021-02-22 17:27:13 +05:30
- .minimal-rspec-tests
- .rails:rules:ee-only-system:minimal
2022-05-07 20:08:51 +05:30
rspec-ee system pg12 single-db:
2021-11-11 11:23:49 +05:30
extends:
- rspec-ee system pg12
2022-05-07 20:08:51 +05:30
- .single-db-rspec
- .rails:rules:single-db
2021-11-11 11:23:49 +05:30
2021-12-11 22:18:48 +05:30
rspec-ee migration pg12-as-if-jh:
extends:
- .rspec-jh-base-pg12
- .rspec-base-migration
- .rails:rules:as-if-jh-rspec
- .rspec-ee-migration-parallel
rspec-ee unit pg12-as-if-jh:
extends:
- .rspec-jh-base-pg12
- .rails:rules:as-if-jh-rspec
- .rspec-ee-unit-parallel
rspec-ee integration pg12-as-if-jh:
extends:
- .rspec-jh-base-pg12
- .rails:rules:as-if-jh-rspec
- .rspec-ee-integration-parallel
rspec-ee system pg12-as-if-jh:
extends:
- .rspec-jh-base-pg12
- .rails:rules:as-if-jh-rspec
- .rspec-ee-system-parallel
rspec-jh migration pg12-as-if-jh:
extends:
- .rspec-jh-base-pg12
- .rspec-base-migration
- .rails:rules:as-if-jh-rspec
rspec-jh unit pg12-as-if-jh:
extends:
- .rspec-jh-base-pg12
- .rails:rules:as-if-jh-rspec
rspec-jh integration pg12-as-if-jh:
extends:
- .rspec-jh-base-pg12
- .rails:rules:as-if-jh-rspec
rspec-jh system pg12-as-if-jh:
extends:
- .rspec-jh-base-pg12
- .rails:rules:as-if-jh-rspec
2019-12-04 20:38:33 +05:30
db:rollback geo:
extends:
- db:rollback
2020-07-28 23:09:34 +05:30
- .rails:rules:ee-only-migration
2019-12-04 20:38:33 +05:30
script:
2022-01-26 12:08:38 +05:30
- bundle exec rake db:migrate:geo VERSION=20170627195211
- bundle exec rake db:migrate:geo
2021-04-29 21:17:54 +05:30
# EE: default refs (MRs, default branch, schedules) jobs #
2020-05-24 23:13:21 +05:30
##################################################
2020-06-23 00:09:42 +05:30
2020-07-28 23:09:34 +05:30
##########################################
2021-04-29 21:17:54 +05:30
# EE/FOSS: default branch nightly scheduled jobs #
2021-09-30 23:02:18 +05:30
# PG11
2021-06-08 01:23:25 +05:30
rspec migration pg11:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg11
2020-07-28 23:09:34 +05:30
- .rspec-base-migration
2021-04-29 21:17:54 +05:30
- .rails:rules:default-branch-schedule-nightly--code-backstage
2020-07-28 23:09:34 +05:30
- .rspec-migration-parallel
2021-06-08 01:23:25 +05:30
rspec unit pg11:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg11
2021-04-29 21:17:54 +05:30
- .rails:rules:default-branch-schedule-nightly--code-backstage
2020-07-28 23:09:34 +05:30
- .rspec-unit-parallel
2021-06-08 01:23:25 +05:30
rspec integration pg11:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg11
2021-04-29 21:17:54 +05:30
- .rails:rules:default-branch-schedule-nightly--code-backstage
2020-07-28 23:09:34 +05:30
- .rspec-integration-parallel
2021-06-08 01:23:25 +05:30
rspec system pg11:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg11
2021-04-29 21:17:54 +05:30
- .rails:rules:default-branch-schedule-nightly--code-backstage
2020-07-28 23:09:34 +05:30
- .rspec-system-parallel
2021-09-30 23:02:18 +05:30
# PG13
rspec migration pg13:
extends:
- .rspec-base-pg13
- .rspec-base-migration
- .rails:rules:default-branch-schedule-nightly--code-backstage
- .rspec-migration-parallel
rspec unit pg13:
extends:
- .rspec-base-pg13
- .rails:rules:default-branch-schedule-nightly--code-backstage
- .rspec-unit-parallel
rspec integration pg13:
extends:
- .rspec-base-pg13
- .rails:rules:default-branch-schedule-nightly--code-backstage
- .rspec-integration-parallel
rspec system pg13:
extends:
- .rspec-base-pg13
- .rails:rules:default-branch-schedule-nightly--code-backstage
- .rspec-system-parallel
2021-04-29 21:17:54 +05:30
# EE/FOSS: default branch nightly scheduled jobs #
2020-07-28 23:09:34 +05:30
##########################################
#####################################
2021-04-29 21:17:54 +05:30
# EE: default branch nightly scheduled jobs #
2021-09-30 23:02:18 +05:30
# PG11
2021-06-08 01:23:25 +05:30
rspec-ee migration pg11:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg11
2020-07-28 23:09:34 +05:30
- .rspec-base-migration
2021-04-29 21:17:54 +05:30
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-28 23:09:34 +05:30
- .rspec-ee-migration-parallel
2021-06-08 01:23:25 +05:30
rspec-ee unit pg11:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg11
2021-04-29 21:17:54 +05:30
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-28 23:09:34 +05:30
- .rspec-ee-unit-parallel
2021-06-08 01:23:25 +05:30
rspec-ee integration pg11:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg11
2021-04-29 21:17:54 +05:30
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-28 23:09:34 +05:30
- .rspec-ee-integration-parallel
2021-06-08 01:23:25 +05:30
rspec-ee system pg11:
2020-07-28 23:09:34 +05:30
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg11
2021-04-29 21:17:54 +05:30
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-28 23:09:34 +05:30
- .rspec-ee-system-parallel
2021-09-30 23:02:18 +05:30
# PG13
rspec-ee migration pg13:
extends:
- .rspec-ee-base-pg13
- .rspec-base-migration
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
- .rspec-ee-migration-parallel
rspec-ee unit pg13:
extends:
- .rspec-ee-base-pg13
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
- .rspec-ee-unit-parallel
rspec-ee integration pg13:
extends:
- .rspec-ee-base-pg13
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
- .rspec-ee-integration-parallel
rspec-ee system pg13:
extends:
- .rspec-ee-base-pg13
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
- .rspec-ee-system-parallel
2021-04-29 21:17:54 +05:30
# EE: default branch nightly scheduled jobs #
2020-07-28 23:09:34 +05:30
#####################################
2020-06-23 00:09:42 +05:30
##################################################
# EE: Canonical MR pipelines
2020-11-24 15:15:51 +05:30
rspec fail-fast:
extends:
2021-06-08 01:23:25 +05:30
- .rspec-ee-base-pg12 # This job also runs EE spec which needs elasticsearch
2020-11-24 15:15:51 +05:30
- .rails:rules:rspec fail-fast
stage: test
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"]
script:
2021-04-17 20:07:23 +05:30
- !reference [.base-script, script]
2020-11-24 15:15:51 +05:30
- rspec_fail_fast tmp/matching_tests.txt "--tag ~quarantine"
artifacts:
expire_in: 7d
paths:
- tmp/capybara/
2020-06-23 00:09:42 +05:30
rspec foss-impact:
extends:
2021-06-08 01:23:25 +05:30
- .rspec-base-pg12-as-if-foss
2020-11-24 15:15:51 +05:30
- .rails:rules:rspec-foss-impact
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests as-if-foss"]
2020-06-23 00:09:42 +05:30
script:
2021-04-17 20:07:23 +05:30
- !reference [.base-script, script]
2020-11-24 15:15:51 +05:30
- rspec_matched_foss_tests tmp/matching_foss_tests.txt "--tag ~quarantine"
2020-06-23 00:09:42 +05:30
artifacts:
expire_in: 7d
paths:
- tmp/capybara/
2020-11-24 15:15:51 +05:30
fail-pipeline-early:
extends:
- .rails:rules:fail-pipeline-early
stage: post-test
needs:
- job: rspec fail-fast
artifacts: false
variables:
GIT_DEPTH: 1
before_script:
- source scripts/utils.sh
2021-04-29 21:17:54 +05:30
- install_gitlab_gem
2020-11-24 15:15:51 +05:30
script:
- fail_pipeline_early
2021-12-11 22:18:48 +05:30
rspec rspec-pg12-rerun-previous-failed-tests:
extends:
- .rspec-base-pg12
- .rails:rules:rerun-previous-failed-tests
stage: test
needs: ["setup-test-env", "compile-test-assets", "detect-previous-failed-tests"]
script:
- !reference [.base-script, script]
- rspec_rerun_previous_failed_tests tmp/previous_failed_tests/rspec_failed_files.txt
rspec rspec-ee-pg12-rerun-previous-failed-tests:
extends:
- "rspec rspec-pg12-rerun-previous-failed-tests"
- .rspec-ee-base-pg12
script:
- !reference [.base-script, script]
- rspec_rerun_previous_failed_tests tmp/previous_failed_tests/rspec_ee_failed_files.txt
2020-07-28 23:09:34 +05:30
# EE: Canonical MR pipelines
2020-06-23 00:09:42 +05:30
##################################################