2020-10-23 14:08:31 -04:00
#######################
2020-07-09 08:08:56 -04:00
# rspec job base specs
2020-02-07 13:09:03 -05:00
.rails-job-base :
2019-07-01 11:04:19 -04:00
extends :
2019-08-26 16:41:55 -04:00
- .default-retry
- .default-before_script
2020-05-14 11:08:14 -04:00
- .rails-cache
2019-09-17 10:16:34 -04:00
2021-03-11 01:09:43 -05:00
.minimal-bundle-install :
script :
2021-05-14 14:10:34 -04:00
- export BUNDLE_WITHOUT="${BUNDLE_WITHOUT}:default:test:puma:unicorn:kerberos:metrics:omnibus:ed25519"
- bundle_install_script
2021-03-11 01:09:43 -05:00
.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
2020-10-08 14:08:32 -04:00
2020-12-14 07:09:44 -05:00
.minimal-rspec-tests :
variables :
RSPEC_TESTS_MAPPING_ENABLED : "true"
2020-07-09 08:08:56 -04:00
.rspec-base :
extends : .rails-job-base
stage : test
2020-10-06 14:08:49 -04:00
variables :
RUBY_GC_MALLOC_LIMIT : 67108864
RUBY_GC_MALLOC_LIMIT_MAX : 134217728
2020-10-28 11:08:49 -04:00
CRYSTALBALL : "true"
2020-11-23 07:09:11 -05:00
RECORD_DEPRECATIONS : "true"
2020-12-09 10:10:12 -05:00
needs : [ "setup-test-env" , "retrieve-tests-metadata" , "compile-test-assets" , "detect-tests" ]
2020-07-09 08:08:56 -04:00
script :
2021-03-11 01:09:43 -05:00
- !reference [.base-script, script]
2020-07-09 08:08:56 -04:00
- rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"
artifacts :
expire_in : 31d
when : always
paths :
- coverage/
2020-10-28 11:08:49 -04:00
- crystalball/
2020-11-23 07:09:11 -05:00
- deprecations/
2020-07-09 08:08:56 -04:00
- knapsack/
- rspec_flaky/
- rspec_profiling/
- tmp/capybara/
- tmp/memory_test/
2020-10-14 08:08:58 -04:00
- tmp/feature_flags/
2020-07-09 08:08:56 -04:00
- log/*.log
reports :
junit : junit_rspec.xml
.rspec-base-migration :
extends : .rails:rules:ee-and-foss-migration
script :
2021-03-11 01:09:43 -05:00
- !reference [.base-script, script]
2020-07-09 08:08:56 -04:00
- rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag level:migration"
.rspec-base-pg11 :
extends :
- .rspec-base
- .use-pg11
.rspec-base-pg12 :
extends :
- .rspec-base
- .use-pg12
2021-05-10 08:10:26 -04:00
.rspec-base-pg12-as-if-foss :
2020-07-09 08:08:56 -04:00
extends :
- .rspec-base
- .as-if-foss
2021-05-10 08:10:26 -04:00
- .use-pg12
2020-12-09 10:10:12 -05:00
needs : [ "setup-test-env" , "retrieve-tests-metadata" , "compile-test-assets as-if-foss" , "detect-tests" ]
2020-07-09 08:08:56 -04:00
.rspec-ee-base-pg11 :
extends :
- .rspec-base
- .use-pg11-ee
.rspec-ee-base-pg12 :
extends :
- .rspec-base
- .use-pg12-ee
.rspec-ee-base-geo :
extends : .rspec-base
script :
2021-03-11 01:09:43 -05:00
- !reference [.base-script, script]
2020-07-09 08:08:56 -04:00
- rspec_paralellized_job "--tag ~quarantine --tag geo"
.rspec-ee-base-geo-pg11 :
extends :
- .rspec-ee-base-geo
- .use-pg11-ee
.rspec-ee-base-geo-pg12 :
extends :
- .rspec-ee-base-geo
- .use-pg12-ee
.db-job-base :
extends :
- .rails-job-base
- .rails:rules:ee-and-foss-migration
2021-05-10 08:10:26 -04:00
- .use-pg12
2020-07-09 08:08:56 -04:00
stage : test
needs : [ "setup-test-env" ]
# rspec job base specs
######################
############################
# rspec job parallel configs
.rspec-migration-parallel :
2021-04-21 05:09:15 -04:00
parallel : 7
2020-07-09 08:08:56 -04:00
.rspec-ee-migration-parallel :
2021-04-21 05:09:15 -04:00
parallel : 3
2020-07-09 08:08:56 -04:00
.rspec-unit-parallel :
parallel : 20
.rspec-ee-unit-parallel :
parallel : 10
.rspec-ee-unit-geo-parallel :
parallel : 2
.rspec-integration-parallel :
parallel : 8
.rspec-ee-integration-parallel :
parallel : 4
.rspec-system-parallel :
parallel : 24
.rspec-ee-system-parallel :
parallel : 6
# rspec job parallel configs
############################
2020-04-28 05:09:34 -04:00
#######################################################
2021-03-30 11:11:08 -04:00
# EE/FOSS: default refs (MRs, default branch, schedules) jobs #
2020-05-19 05:08:12 -04:00
setup-test-env :
2019-09-27 11:06:16 -04:00
extends :
2020-02-07 13:09:03 -05:00
- .rails-job-base
2021-02-02 01:09:47 -05:00
- .setup-test-env-cache
2021-03-08 13:09:12 -05:00
- .rails:rules:code-backstage-qa
2021-05-10 08:10:26 -04:00
- .use-pg12
2019-09-27 11:06:16 -04:00
stage : prepare
2020-05-14 11:08:14 -04:00
variables :
GITLAB_TEST_EAGER_LOAD : "0"
2019-09-27 11:06:16 -04:00
script :
2020-05-14 11:08:14 -04:00
- run_timed_command "bundle exec ruby -I. -e 'require \"config/environment\"; TestEnv.init'"
- run_timed_command "scripts/gitaly-test-build" # Do not use 'bundle exec' here
2019-09-27 11:06:16 -04:00
artifacts :
expire_in : 7d
paths :
- config/secrets.yml
2021-04-29 11:10:07 -04:00
- tmp/tests/gitaly/_build/bin/
2021-01-06 07:10:58 -05:00
- tmp/tests/gitaly/config.toml
- tmp/tests/gitaly/gitaly2.config.toml
- tmp/tests/gitaly/internal/
2021-03-03 13:11:16 -05:00
- tmp/tests/gitaly/internal_gitaly2/
2021-01-06 07:10:58 -05:00
- tmp/tests/gitaly/internal_sockets/
- tmp/tests/gitaly/Makefile
- tmp/tests/gitaly/praefect.config.toml
- tmp/tests/gitaly/ruby/
- tmp/tests/gitlab-elasticsearch-indexer/bin/gitlab-elasticsearch-indexer
- tmp/tests/gitlab-shell/
- tmp/tests/gitlab-test-fork/
- tmp/tests/gitlab-test-fork_bare/
- tmp/tests/gitlab-test/
- tmp/tests/gitlab-workhorse/gitlab-zip-metadata
- tmp/tests/gitlab-workhorse/gitlab-zip-cat
- tmp/tests/gitlab-workhorse/gitlab-workhorse
- tmp/tests/gitlab-workhorse/gitlab-resize-image
- tmp/tests/gitlab-workhorse/config.toml
2021-03-16 14:11:53 -04:00
- tmp/tests/gitlab-workhorse/WORKHORSE_TREE
2021-01-06 07:10:58 -05:00
- tmp/tests/repositories/
- tmp/tests/second_storage/
2020-05-14 11:08:14 -04:00
when : always
2020-06-02 08:08:33 -04:00
2021-02-02 01:09:47 -05:00
update-setup-test-env-cache :
2020-06-02 08:08:33 -04:00
extends :
- setup-test-env
- .shared:rules:update-cache
2021-02-02 01:09:47 -05:00
artifacts :
paths : [ ] # This job's purpose is only to update the cache.
2019-09-27 11:06:16 -04:00
cache :
2020-06-02 08:08:33 -04:00
policy : push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
2021-02-02 01:09:47 -05:00
update-rails-cache :
extends :
- update-setup-test-env-cache
- .rails-cache
2021-02-16 13:09:24 -05:00
cache :
policy : push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
2021-02-02 01:09:47 -05:00
2020-09-22 08:09:39 -04:00
.coverage-base :
extends :
- .default-retry
- .default-before_script
- .coverage-cache
variables :
SETUP_DB : "false"
USE_BUNDLE_INSTALL : "false"
update-coverage-cache :
extends :
- .coverage-base
- .shared:rules:update-cache
stage : prepare
script :
2021-03-11 01:09:43 -05:00
- !reference [.minimal-bundle-install, script]
2020-09-22 08:09:39 -04:00
cache :
policy : push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
2020-06-02 08:08:33 -04:00
.static-analysis-base :
extends :
- .default-retry
- .default-before_script
- .static-analysis-cache
needs : [ ]
variables :
SETUP_DB : "false"
ENABLE_SPRING : "1"
update-static-analysis-cache :
extends :
- .static-analysis-base
- .shared:rules:update-cache
stage : prepare
script :
- rm -rf ./node_modules # We remove node_modules because there's no mechanism to remove stall entries.
- run_timed_command "retry yarn install --frozen-lockfile"
2020-09-22 08:09:39 -04:00
- run_timed_command "bundle exec rubocop --parallel" # For the moment we only cache `vendor/ruby/`, `node_modules/`, and `tmp/rubocop_cache` so we don't need to run all the tasks,
2020-06-02 08:08:33 -04:00
cache :
# We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up but RuboCop has a mechanism
# for keeping only the N latest cache files, so we take advantage of it with `pull-push` and removing `node_modules` at the start of the job.
2019-09-27 11:06:16 -04:00
policy : pull-push
2020-02-07 13:09:03 -05:00
static-analysis :
extends :
2020-06-02 08:08:33 -04:00
- .static-analysis-base
2021-04-28 08:10:09 -04:00
- .static-analysis:rules:ee-and-foss
2020-02-07 13:09:03 -05:00
stage : test
2020-05-28 14:08:37 -04:00
parallel : 4
2020-02-07 13:09:03 -05:00
script :
2020-06-02 08:08:33 -04:00
- run_timed_command "retry yarn install --frozen-lockfile"
2020-02-07 13:09:03 -05:00
- scripts/static-analysis
2021-04-28 08:10:09 -04:00
static-analysis as-if-foss :
extends :
- static-analysis
- .static-analysis:rules:as-if-foss
- .as-if-foss
2021-05-10 08:10:26 -04:00
rspec migration pg12 :
2019-12-24 10:07:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12
2019-12-24 10:07:44 -05:00
- .rspec-base-migration
2020-07-09 08:08:56 -04:00
- .rspec-migration-parallel
2019-12-02 16:06:51 -05:00
2021-05-10 08:10:26 -04:00
rspec migration pg12 minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec migration pg12
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-migration:minimal
2021-05-10 08:10:26 -04:00
rspec unit pg12 :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-and-foss-unit
2020-07-09 08:08:56 -04:00
- .rspec-unit-parallel
2019-09-27 11:06:16 -04:00
2021-05-10 08:10:26 -04:00
rspec unit pg12 minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec unit pg12
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-unit:minimal
2021-05-10 08:10:26 -04:00
rspec integration pg12 :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-and-foss-integration
2020-07-09 08:08:56 -04:00
- .rspec-integration-parallel
2019-04-12 04:56:38 -04:00
2021-05-10 08:10:26 -04:00
rspec integration pg12 minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec integration pg12
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-integration:minimal
2021-05-10 08:10:26 -04:00
rspec system pg12 :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-and-foss-system
2020-07-09 08:08:56 -04:00
- .rspec-system-parallel
2019-09-27 11:06:16 -04:00
2021-05-10 08:10:26 -04:00
rspec system pg12 minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec system pg12
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-system:minimal
2021-05-10 08:10:26 -04:00
# 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-01-13 07:10:27 -05:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg11
2021-01-13 07:10:27 -05:00
- .rails:rules:ee-and-foss-db-library-code
script :
2021-03-11 01:09:43 -05:00
- !reference [.base-script, script]
2021-01-20 04:10:52 -05:00
- rspec_db_library_code
2021-01-13 07:10:27 -05:00
2019-09-27 11:06:16 -04:00
rspec fast_spec_helper :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-and-foss-fast_spec_helper
2019-09-27 11:06:16 -04:00
script :
- bin/rspec spec/fast_spec_helper.rb
2020-12-14 07:09:44 -05:00
rspec fast_spec_helper minimal :
extends :
- rspec fast_spec_helper
- .minimal-rspec-tests
- .rails:rules:ee-and-foss-fast_spec_helper:minimal
2019-09-17 10:16:34 -04:00
db:migrate:reset :
extends : .db-job-base
2019-08-26 16:41:55 -04:00
script :
- bundle exec rake db:migrate:reset
2019-04-12 04:56:38 -04:00
2019-08-26 16:41:55 -04:00
db:check-schema :
2020-05-04 14:10:20 -04:00
extends :
- .db-job-base
2021-03-30 11:11:08 -04:00
- .rails:rules:ee-mr-and-default-branch-only
2019-04-12 04:56:38 -04:00
script :
- source scripts/schema_changed.sh
2021-05-14 20:10:46 -04:00
- scripts/validate_migration_timestamps
2019-04-12 04:56:38 -04:00
2021-01-05 07:10:36 -05:00
db:check-migrations :
extends :
- .db-job-base
- .rails:rules:ee-and-foss-mr-with-migration
script :
- scripts/validate_migration_schema
allow_failure : true
2021-04-13 05:11:10 -04:00
db:migrate-from-previous-major-version :
extends : .db-job-base
variables :
USE_BUNDLE_INSTALL : "false"
SETUP_DB : "false"
PROJECT_TO_CHECKOUT : "gitlab-foss"
TAG_TO_CHECKOUT : "v12.10.14"
script :
- '[[ -d "ee/" ]] || export PROJECT_TO_CHECKOUT="gitlab"'
- '[[ -d "ee/" ]] || export TAG_TO_CHECKOUT="${TAG_TO_CHECKOUT}-ee"'
- retry 'git fetch https://gitlab.com/gitlab-org/$PROJECT_TO_CHECKOUT.git $TAG_TO_CHECKOUT'
- git checkout -f FETCH_HEAD
# Patch Gemfile of the previous major version for compatibility.
- sed -i -e "s/gem 'grpc', '~> 1.24.0'/gem 'grpc', '~> 1.30.2'/" Gemfile # Update gRPC for Ruby 2.7
- sed -i -e "s/gem 'google-protobuf', '~> 3.8.0'/gem 'google-protobuf', '~> 3.12'/" Gemfile
- sed -i -e "s/gem 'nokogiri', '~> 1.10.5'/gem 'nokogiri', '~> 1.11.0'/" Gemfile
- sed -i -e "s/gem 'mimemagic', '~> 0.3.2'/gem 'ruby-magic', '~> 0.3.2'/" Gemfile
- run_timed_command "gem install bundler:1.17.3"
- run_timed_command "bundle update google-protobuf nokogiri grpc mimemagic bootsnap"
- run_timed_command "bundle install ${BUNDLE_INSTALL_FLAGS}"
- cp config/gitlab.yml.example config/gitlab.yml
- run_timed_command "bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu"
- git checkout -f $CI_COMMIT_SHA
- run_timed_command "bundle install ${BUNDLE_INSTALL_FLAGS}"
- run_timed_command "bundle exec rake db:migrate"
2019-04-12 04:56:38 -04:00
2019-08-26 16:41:55 -04:00
db:rollback :
2019-09-17 10:16:34 -04:00
extends : .db-job-base
2019-04-12 04:56:38 -04:00
script :
2020-06-03 08:08:21 -04:00
- bundle exec rake db:migrate VERSION=20181228175414
2019-06-20 11:50:46 -04:00
- bundle exec rake db:migrate SKIP_SCHEMA_VERSION_CHECK=true
2019-04-12 04:56:38 -04:00
2021-01-27 13:09:08 -05:00
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
- ./scripts/trigger-build gitlab-com-database-testing
2019-08-26 16:41:55 -04:00
gitlab:setup :
2019-09-17 10:16:34 -04:00
extends : .db-job-base
2019-08-26 16:41:55 -04:00
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-03-11 01:09:43 -05:00
- !reference [.base-script, script]
2019-08-26 16:41:55 -04:00
- force=yes SIZE=1 FIXTURE_PATH="db/fixtures/development" bundle exec rake gitlab:setup
artifacts :
when : on_failure
expire_in : 1d
paths :
2020-05-11 11:09:37 -04:00
- log/*.log
2019-04-12 04:56:38 -04:00
2020-09-03 14:08:29 -04:00
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
- mkdir -p tmp/tests/public/uploads tmp/tests/{artifacts,pages,lfs-objects,registry}
- bundle exec rake gitlab:backup:create
- date
- bundle exec rake gitlab:backup:restore
rules :
- changes : [ "lib/backup/**/*" ]
2020-12-29 19:10:29 -05:00
rspec:deprecations :
extends :
- .default-retry
- .default-before_script
- .static-analysis-cache
- .rails:rules:deprecations
stage : post-test
allow_failure : true
2021-01-06 01:10:11 -05:00
# We cannot use needs since it would mean needing 84 jobs (since most are parallelized)
# so we use `dependencies` here.
dependencies :
2021-05-10 08:10:26 -04:00
- 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
- rspec-ee unit pg12 geo
- rspec-ee integration pg12 geo
- rspec-ee system pg12 geo
2020-12-29 19:10:29 -05:00
variables :
SETUP_DB : "false"
script :
2021-01-20 07:11:06 -05:00
- grep -h -R "keyword" deprecations/ | awk '{$1=$1};1' | sort | uniq -c | sort
- grep -R "keyword" deprecations/ | wc
2021-01-12 04:10:49 -05:00
- run_timed_command "bundle exec rubocop --only Lint/LastKeywordArgument --parallel"
2020-12-29 19:10:29 -05:00
artifacts :
expire_in : 31d
when : always
paths :
- deprecations/
2020-03-06 13:08:08 -05:00
rspec:coverage :
2020-02-07 13:09:03 -05:00
extends :
2020-09-22 08:09:39 -04:00
- .coverage-base
2020-06-30 05:08:37 -04:00
- .rails:rules:rspec-coverage
2020-02-07 13:09:03 -05:00
stage : post-test
2020-03-18 14:09:35 -04:00
# We cannot use needs since it would mean needing 84 jobs (since most are parallelized)
# so we use `dependencies` here.
dependencies :
2020-05-13 20:07:47 -04:00
- setup-test-env
2021-05-10 08:10:26 -04:00
- 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
- rspec-ee unit pg12 geo
- rspec-ee integration pg12 geo
- rspec-ee system pg12 geo
2020-03-18 14:09:35 -04:00
- memory-static
- memory-on-boot
2019-04-12 04:56:38 -04:00
script :
2021-03-11 01:09:43 -05:00
- !reference [.minimal-bundle-install, script]
2020-09-22 08:09:39 -04:00
- run_timed_command "bundle exec scripts/merge-simplecov"
- run_timed_command "bundle exec scripts/gather-test-memory-data"
2019-04-12 04:56:38 -04:00
coverage : '/LOC \((\d+\.\d+%)\) covered.$/'
artifacts :
name : coverage
expire_in : 31d
paths :
2019-06-05 12:31:35 -04:00
- coverage/index.html
- coverage/assets/
2019-07-12 06:44:17 -04:00
- tmp/memory_test/
2020-06-23 11:08:41 -04:00
reports :
cobertura : coverage/coverage.xml
2020-10-14 14:08:47 -04:00
rspec:feature-flags :
extends :
- .coverage-base
- .rails:rules:rspec-feature-flags
stage : post-test
# We cannot use needs since it would mean needing 84 jobs (since most are parallelized)
# so we use `dependencies` here.
dependencies :
- setup-test-env
2021-05-10 08:10:26 -04:00
- 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
- rspec-ee unit pg12 geo
- rspec-ee integration pg12 geo
- rspec-ee system pg12 geo
2020-10-14 14:08:47 -04:00
- memory-static
- memory-on-boot
script :
2021-03-11 01:09:43 -05:00
- !reference [.minimal-bundle-install, script]
2021-02-04 01:09:22 -05:00
- 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
2020-11-26 13:09:18 -05:00
2021-03-30 11:11:08 -04:00
# EE/FOSS: default refs (MRs, default branch, schedules) jobs #
2020-04-28 05:09:34 -04:00
#######################################################
2020-02-07 13:09:03 -05:00
2020-04-28 05:09:34 -04:00
##################################################
2021-03-30 11:11:08 -04:00
# EE: default refs (MRs, default branch, schedules) jobs #
2021-05-10 08:10:26 -04:00
rspec migration pg12-as-if-foss :
2020-02-20 04:09:13 -05:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12-as-if-foss
2020-02-20 04:09:13 -05:00
- .rspec-base-migration
2020-06-18 08:09:25 -04:00
- .rails:rules:as-if-foss-migration
2020-07-09 08:08:56 -04:00
- .rspec-migration-parallel
2020-02-20 04:09:13 -05:00
2021-05-10 08:10:26 -04:00
rspec migration pg12-as-if-foss minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec migration pg12-as-if-foss
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:as-if-foss-migration:minimal
2021-05-10 08:10:26 -04:00
rspec unit pg12-as-if-foss :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12-as-if-foss
2020-06-18 08:09:25 -04:00
- .rails:rules:as-if-foss-unit
2020-07-09 08:08:56 -04:00
- .rspec-unit-parallel
2020-02-20 04:09:13 -05:00
2021-05-10 08:10:26 -04:00
rspec unit pg12-as-if-foss minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec unit pg12-as-if-foss
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:as-if-foss-unit:minimal
2021-05-10 08:10:26 -04:00
rspec integration pg12-as-if-foss :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12-as-if-foss
2020-06-18 08:09:25 -04:00
- .rails:rules:as-if-foss-integration
2020-07-09 08:08:56 -04:00
- .rspec-integration-parallel
2020-02-20 04:09:13 -05:00
2021-05-10 08:10:26 -04:00
rspec integration pg12-as-if-foss minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec integration pg12-as-if-foss
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:as-if-foss-integration:minimal
2021-05-10 08:10:26 -04:00
rspec system pg12-as-if-foss :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12-as-if-foss
2020-06-18 08:09:25 -04:00
- .rails:rules:as-if-foss-system
2020-07-09 08:08:56 -04:00
- .rspec-system-parallel
2020-06-18 08:09:25 -04:00
2021-05-10 08:10:26 -04:00
rspec system pg12-as-if-foss minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec system pg12-as-if-foss
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:as-if-foss-system:minimal
2021-05-10 08:10:26 -04:00
rspec-ee migration pg12 :
2020-02-07 13:09:03 -05:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg12
2020-02-07 13:09:03 -05:00
- .rspec-base-migration
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-only-migration
2020-07-09 08:08:56 -04:00
- .rspec-ee-migration-parallel
2020-02-07 13:09:03 -05:00
2021-05-10 08:10:26 -04:00
rspec-ee migration pg12 minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec-ee migration pg12
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:ee-only-migration:minimal
2021-05-10 08:10:26 -04:00
rspec-ee unit pg12 :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-only-unit
2020-07-09 08:08:56 -04:00
- .rspec-ee-unit-parallel
2020-02-07 13:09:03 -05:00
2021-05-10 08:10:26 -04:00
rspec-ee unit pg12 minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec-ee unit pg12
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:ee-only-unit:minimal
2021-05-10 08:10:26 -04:00
rspec-ee integration pg12 :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-only-integration
2020-07-09 08:08:56 -04:00
- .rspec-ee-integration-parallel
2020-02-07 13:09:03 -05:00
2021-05-10 08:10:26 -04:00
rspec-ee integration pg12 minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec-ee integration pg12
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:ee-only-integration:minimal
2021-05-10 08:10:26 -04:00
rspec-ee system pg12 :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-only-system
2020-07-09 08:08:56 -04:00
- .rspec-ee-system-parallel
2020-02-07 13:09:03 -05:00
2021-05-10 08:10:26 -04:00
rspec-ee system pg12 minimal :
2020-12-14 07:09:44 -05:00
extends :
2021-05-10 08:10:26 -04:00
- rspec-ee system pg12
2020-12-14 07:09:44 -05:00
- .minimal-rspec-tests
- .rails:rules:ee-only-system:minimal
2021-05-10 08:10:26 -04:00
rspec-ee unit pg12 geo :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-geo-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-only-unit
2020-07-09 08:08:56 -04:00
- .rspec-ee-unit-geo-parallel
2020-04-28 05:09:34 -04:00
2020-12-17 07:09:57 -05:00
# FIXME: Temporarily disable geo minimal rspec jobs https://gitlab.com/gitlab-org/gitlab/-/issues/294212
2021-05-10 08:10:26 -04:00
#rspec-ee unit pg12 geo minimal:
2020-12-17 07:09:57 -05:00
# extends:
2021-05-10 08:10:26 -04:00
# - rspec-ee unit pg12 geo
2020-12-17 07:09:57 -05:00
# - .minimal-rspec-tests
# - .rails:rules:ee-only-unit:minimal
2020-12-14 07:09:44 -05:00
2021-05-10 08:10:26 -04:00
rspec-ee integration pg12 geo :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-geo-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-only-integration
2020-04-28 05:09:34 -04:00
2020-12-17 07:09:57 -05:00
# FIXME: Temporarily disable geo minimal rspec jobs https://gitlab.com/gitlab-org/gitlab/-/issues/294212
2021-05-10 08:10:26 -04:00
#rspec-ee integration pg12 geo minimal:
2020-12-17 07:09:57 -05:00
# extends:
2021-05-10 08:10:26 -04:00
# - rspec-ee integration pg12 geo
2020-12-17 07:09:57 -05:00
# - .minimal-rspec-tests
# - .rails:rules:ee-only-integration:minimal
2020-12-14 07:09:44 -05:00
2021-05-10 08:10:26 -04:00
rspec-ee system pg12 geo :
2020-06-18 08:09:25 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-geo-pg12
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-only-system
2020-04-28 05:09:34 -04:00
2020-12-17 07:09:57 -05:00
# FIXME: Temporarily disable geo minimal rspec jobs https://gitlab.com/gitlab-org/gitlab/-/issues/294212
2021-05-10 08:10:26 -04:00
#rspec-ee system pg12 geo minimal:
2020-12-17 07:09:57 -05:00
# extends:
2021-05-10 08:10:26 -04:00
# - rspec-ee system pg12 geo
2020-12-17 07:09:57 -05:00
# - .minimal-rspec-tests
# - .rails:rules:ee-only-system:minimal
2020-12-14 07:09:44 -05:00
2020-04-28 05:09:34 -04:00
db:rollback geo :
2020-02-07 13:09:03 -05:00
extends :
2020-04-28 05:09:34 -04:00
- db:rollback
2020-06-18 08:09:25 -04:00
- .rails:rules:ee-only-migration
2020-04-28 05:09:34 -04:00
script :
- bundle exec rake geo:db:migrate VERSION=20170627195211
- bundle exec rake geo:db:migrate
2021-03-30 11:11:08 -04:00
# EE: default refs (MRs, default branch, schedules) jobs #
2020-04-28 05:09:34 -04:00
##################################################
2020-06-02 05:08:01 -04:00
2020-07-09 08:08:56 -04:00
##########################################
2021-03-30 11:11:08 -04:00
# EE/FOSS: default branch nightly scheduled jobs #
2021-05-10 08:10:26 -04:00
rspec migration pg11 :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg11
2020-07-09 08:08:56 -04:00
- .rspec-base-migration
2021-05-10 08:10:26 -04:00
- .rails:rules:default-branch-schedule-nightly--code-backstage
2020-07-09 08:08:56 -04:00
- .rspec-migration-parallel
2021-05-10 08:10:26 -04:00
rspec unit pg11 :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage
2020-07-09 08:08:56 -04:00
- .rspec-unit-parallel
2021-05-10 08:10:26 -04:00
rspec integration pg11 :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage
2020-07-09 08:08:56 -04:00
- .rspec-integration-parallel
2021-05-10 08:10:26 -04:00
rspec system pg11 :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage
2020-07-09 08:08:56 -04:00
- .rspec-system-parallel
2021-03-30 11:11:08 -04:00
# EE/FOSS: default branch nightly scheduled jobs #
2020-07-09 08:08:56 -04:00
##########################################
#####################################
2021-03-30 11:11:08 -04:00
# EE: default branch nightly scheduled jobs #
2021-05-10 08:10:26 -04:00
rspec-ee migration pg11 :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg11
2020-07-09 08:08:56 -04:00
- .rspec-base-migration
2021-05-10 08:10:26 -04:00
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-09 08:08:56 -04:00
- .rspec-ee-migration-parallel
2021-05-10 08:10:26 -04:00
rspec-ee unit pg11 :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-09 08:08:56 -04:00
- .rspec-ee-unit-parallel
2021-05-10 08:10:26 -04:00
rspec-ee integration pg11 :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-09 08:08:56 -04:00
- .rspec-ee-integration-parallel
2021-05-10 08:10:26 -04:00
rspec-ee system pg11 :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-09 08:08:56 -04:00
- .rspec-ee-system-parallel
2021-05-10 08:10:26 -04:00
rspec-ee unit pg11 geo :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-geo-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-09 08:08:56 -04:00
- .rspec-ee-unit-geo-parallel
2021-05-10 08:10:26 -04:00
rspec-ee integration pg11 geo :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-geo-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2020-07-09 08:08:56 -04:00
2021-05-10 08:10:26 -04:00
rspec-ee system pg11 geo :
2020-07-09 08:08:56 -04:00
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-geo-pg11
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
2021-03-30 11:11:08 -04:00
# EE: default branch nightly scheduled jobs #
2020-07-09 08:08:56 -04:00
#####################################
2020-06-02 05:08:01 -04:00
##################################################
# EE: Canonical MR pipelines
2020-09-14 11:09:28 -04:00
rspec fail-fast :
extends :
2021-05-10 08:10:26 -04:00
- .rspec-ee-base-pg12 # This job also runs EE spec which needs elasticsearch
2020-09-14 11:09:28 -04:00
- .rails:rules:rspec fail-fast
stage : test
needs : [ "setup-test-env" , "retrieve-tests-metadata" , "compile-test-assets" , "detect-tests" ]
script :
2021-03-11 01:09:43 -05:00
- !reference [.base-script, script]
2020-09-14 11:09:28 -04:00
- rspec_fail_fast tmp/matching_tests.txt "--tag ~quarantine"
artifacts :
expire_in : 7d
paths :
- tmp/capybara/
2020-06-02 05:08:01 -04:00
rspec foss-impact :
extends :
2021-05-10 08:10:26 -04:00
- .rspec-base-pg12-as-if-foss
2020-09-01 08:11:01 -04:00
- .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-02 05:08:01 -04:00
script :
2021-03-11 01:09:43 -05:00
- !reference [.base-script, script]
2020-08-25 11:10:17 -04:00
- rspec_matched_foss_tests tmp/matching_foss_tests.txt "--tag ~quarantine"
2020-06-02 05:08:01 -04:00
artifacts :
expire_in : 7d
paths :
2020-06-09 05:08:20 -04:00
- tmp/capybara/
2020-09-01 08:11:01 -04:00
2020-09-14 11:09:28 -04:00
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-06 14:09:02 -04:00
- install_gitlab_gem
2020-09-14 11:09:28 -04:00
script :
- fail_pipeline_early
2020-07-09 08:08:56 -04:00
# EE: Canonical MR pipelines
2020-06-02 05:08:01 -04:00
##################################################