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" .minimal-rspec-tests: variables: RSPEC_TESTS_MAPPING_ENABLED: "true" .single-db: variables: DECOMPOSED_DB: "false" .single-db-rspec: extends: .single-db .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}" needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"] script: - !reference [.base-script, script] - rspec_paralellized_job "--tag ~quarantine --tag ~level:migration" .base-artifacts: artifacts: expire_in: 31d when: always paths: - coverage/ - crystalball/ - deprecations/ - knapsack/ - rspec/ - tmp/capybara/ - log/*.log reports: junit: ${JUNIT_RESULT_FILE} .rspec-base-migration: extends: - .base-artifacts - .rails:rules:ee-and-foss-migration variables: RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_PATH}" script: - !reference [.base-script, script] - rspec_paralellized_job "--tag ~quarantine --tag level:migration" .rspec-base-pg11: extends: - .rspec-base - .use-pg11 .rspec-base-pg12: extends: - .rspec-base - .use-pg12 .rspec-base-pg12-as-if-foss: extends: - .rspec-base - .as-if-foss - .use-pg12 needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"] .rspec-base-pg13: extends: - .rspec-base - .use-pg13 .rspec-ee-base-pg11: extends: - .rspec-base - .use-pg11-ee .rspec-ee-base-pg12: extends: - .rspec-base - .use-pg12-ee .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 .rspec-ee-base-pg13: extends: - .rspec-base - .use-pg13-ee .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: parallel: 12 .rspec-ee-migration-parallel: parallel: 4 .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 ############################