# RSpec FOSS impact pipeline loaded dynamically by script: scripts/generate_rspec_pipeline.rb include: - local: .gitlab/ci/rails/shared.gitlab-ci.yml default: image: $DEFAULT_CI_IMAGE tags: - gitlab-org # Default job timeout set to 90m https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/10520 timeout: 90m interruptible: true stages: - test dont-interrupt-me: extends: .rules:dont-interrupt stage: .pre interruptible: false script: - echo "This jobs makes sure this pipeline won't be interrupted! See https://docs.gitlab.com/ee/ci/yaml/#interruptible." .base-rspec-foss-impact: extends: .rspec-base-pg13-as-if-foss needs: - pipeline: $PARENT_PIPELINE_ID job: detect-tests - pipeline: $PARENT_PIPELINE_ID job: setup-test-env - pipeline: $PARENT_PIPELINE_ID job: retrieve-tests-metadata - pipeline: $PARENT_PIPELINE_ID job: compile-test-assets as-if-foss rules: - when: always variables: RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_FOSS_PATH}" RSPEC_TESTS_MAPPING_ENABLED: "true" script: - !reference [.base-script, script] - rspec_paralellized_job "--tag ~quarantine --tag ~level:migration --tag ~zoekt" artifacts: expire_in: 7d paths: - "${RSPEC_MATCHING_TESTS_FOSS_PATH}" - tmp/capybara/ <% if rspec_files_per_test_level[:migration][:files].size > 0 %> rspec migration foss-impact: extends: .base-rspec-foss-impact <% if rspec_files_per_test_level[:migration][:parallelization] > 1 %> parallel: <%= rspec_files_per_test_level[:migration][:parallelization] %> <% end %> script: - !reference [.base-script, script] - rspec_paralellized_job "--tag ~quarantine --tag ~zoekt" <% end %> <% if rspec_files_per_test_level[:background_migration][:files].size > 0 %> rspec background_migration foss-impact: extends: .base-rspec-foss-impact <% if rspec_files_per_test_level[:background_migration][:parallelization] > 1 %> parallel: <%= rspec_files_per_test_level[:background_migration][:parallelization] %> <% end %> <% end %> <% if rspec_files_per_test_level[:unit][:files].size > 0 %> rspec unit foss-impact: extends: .base-rspec-foss-impact <% if rspec_files_per_test_level[:unit][:parallelization] > 1 %> parallel: <%= rspec_files_per_test_level[:unit][:parallelization] %> <% end %> <% end %> <% if rspec_files_per_test_level[:integration][:files].size > 0 %> rspec integration foss-impact: extends: .base-rspec-foss-impact <% if rspec_files_per_test_level[:integration][:parallelization] > 1 %> parallel: <%= rspec_files_per_test_level[:integration][:parallelization] %> <% end %> <% end %> <% if rspec_files_per_test_level[:system][:files].size > 0 %> rspec system foss-impact: extends: .base-rspec-foss-impact <% if rspec_files_per_test_level[:system][:parallelization] > 1 %> parallel: <%= rspec_files_per_test_level[:system][:parallelization] %> <% end %> <% end %>