90 lines
2.9 KiB
Text
90 lines
2.9 KiB
Text
# 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:background_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 %>
|