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" .single-db: variables: DECOMPOSED_DB: "false" .single-db-ci-connection: extends: .single-db variables: CI_CONNECTION_DB: "true" .single-db-rspec: extends: .single-db .single-db-ci-connection-rspec: extends: .single-db-ci-connection .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 SUCCESSFULLY_RETRIED_TEST_EXIT_CODE: 137 needs: - job: "setup-test-env" - job: "retrieve-tests-metadata" - job: "compile-test-assets" - job: "detect-tests" optional: true script: - !reference [.base-script, script] # 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" allow_failure: exit_codes: !reference [.rspec-base, variables, SUCCESSFULLY_RETRIED_TEST_EXIT_CODE] .base-artifacts: artifacts: expire_in: 31d when: always paths: - coverage/ - crystalball/ - deprecations/ - knapsack/ - query_recorder/ - rspec/ - tmp/capybara/ - log/*.log reports: junit: ${JUNIT_RESULT_FILE} .rspec-base-migration: script: - !reference [.base-script, script] - rspec_paralellized_job "--tag ~quarantine --tag ~zoekt" .rspec-base-pg12: extends: - .rspec-base - .use-pg12 .rspec-base-pg13: extends: - .rspec-base - .use-pg13 .rspec-base-pg13-as-if-foss: extends: - .rspec-base - .as-if-foss - .use-pg13 needs: - job: "setup-test-env" - job: "retrieve-tests-metadata" - job: "compile-test-assets as-if-foss" - job: "detect-tests" optional: true .rspec-base-pg14: extends: - .rspec-base - .use-pg14 .rspec-ee-base-pg12: extends: - .rspec-base - .use-pg12-es7-ee .rspec-ee-base-pg13: extends: - .rspec-base - .use-pg13-es7-ee .rspec-ee-base-pg13-es8: extends: - .rspec-base - .use-pg13-es8-ee - .rails:rules:run-search-tests .rspec-ee-base-pg13-opensearch1: extends: - .rspec-base - .use-pg13-opensearch1-ee - .rails:rules:run-search-tests .rspec-ee-base-pg13-opensearch2: extends: - .rspec-base - .use-pg13-opensearch2-ee - .rails:rules:run-search-tests .rspec-ee-base-pg14: extends: - .rspec-base - .use-pg14-es7-ee .rspec-ee-base-pg14-es8: extends: - .rspec-base - .use-pg14-es8-ee - .rails:rules:run-search-tests .rspec-ee-base-pg14-opensearch1: extends: - .rspec-base - .use-pg14-opensearch1-ee - .rails:rules:run-search-tests .rspec-ee-base-pg14-opensearch2: extends: - .rspec-base - .use-pg14-opensearch2-ee - .rails:rules:run-search-tests .db-job-base: extends: - .rails-job-base - .rails:rules:ee-and-foss-migration - .use-pg13 stage: test needs: ["setup-test-env"] # rspec job base specs ###################### ############################ # rspec job parallel configs .rspec-migration-parallel: parallel: 8 .rspec-background-migration-parallel: parallel: 4 .rspec-ee-migration-parallel: parallel: 2 .rspec-ee-background-migration-parallel: parallel: 2 .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 ############################