diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 63068cfee1b..fc2f061bd81 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,6 +13,7 @@ stages: - pages - notify - release-environments + - benchmark # always use `gitlab-org` runners, however # in cases where jobs require Docker-in-Docker, the job @@ -28,20 +29,20 @@ default: .default-ruby-variables: &default-ruby-variables RUBY_VERSION: "3.0" - OMNIBUS_GITLAB_RUBY3_BUILD: "true" - OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3" -.backcompat-ruby-variables: &backcompat-ruby-variables - RUBY_VERSION: "2.7" - OMNIBUS_GITLAB_RUBY2_BUILD: "true" - OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY2" +.next-ruby-variables: &next-ruby-variables + RUBY_VERSION: "3.1" .default-branch-pipeline-failure-variables: &default-branch-pipeline-failure-variables CREATE_RAILS_TEST_FAILURE_ISSUES: "true" + CREATE_RAILS_SLOW_TEST_ISSUES: "true" workflow: name: '$PIPELINE_NAME' rules: + - if: '$CI_PROJECT_PATH == "gitlab-org/gitaly" && $CI_PIPELINE_SOURCE == "parent_pipeline" && $GITALY_TEST' + variables: + PIPELINE_NAME: 'Gitaly Rails Test Pipeline' # If `$FORCE_GITLAB_CI` is set, create a pipeline. - if: '$FORCE_GITLAB_CI' variables: @@ -54,10 +55,10 @@ workflow: # they serve no purpose and will run anyway when the changes are merged. - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^release-tools\/\d+\.\d+\.\d+-rc\d+$/ && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee)?$/ && $CI_PROJECT_PATH == "gitlab-org/gitlab"' when: never - # For merge requests running exclusively in Ruby 2.7 - - if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby2/' + # For merge requests running exclusively in Ruby 3.1 + - if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3_1/' variables: - <<: *backcompat-ruby-variables + <<: *next-ruby-variables PIPELINE_NAME: 'Ruby $RUBY_VERSION $CI_MERGE_REQUEST_EVENT_TYPE MR pipeline' NO_SOURCEMAPS: 'true' - if: '$CI_MERGE_REQUEST_LABELS =~ /Community contribution/' @@ -79,10 +80,10 @@ workflow: <<: *default-branch-pipeline-failure-variables CRYSTALBALL: "true" PIPELINE_NAME: 'Scheduled Ruby $RUBY_VERSION $CI_COMMIT_BRANCH branch pipeline' - # Run pipelines for ruby2 branch - - if: '$CI_COMMIT_BRANCH == "ruby2" && $CI_PIPELINE_SOURCE == "schedule"' + # Run pipelines for ruby3_1 branch + - if: '$CI_COMMIT_BRANCH == "ruby3_1" && $CI_PIPELINE_SOURCE == "schedule"' variables: - <<: *backcompat-ruby-variables + <<: *next-ruby-variables PIPELINE_NAME: 'Scheduled Ruby $RUBY_VERSION $CI_COMMIT_BRANCH branch pipeline' # This work around https://gitlab.com/gitlab-org/gitlab/-/issues/332411 whichs prevents usage of dependency proxy # when pipeline is triggered by a project access token. @@ -142,7 +143,6 @@ variables: UBI_VERSION: "8.6" CHROME_VERSION: "113" DOCKER_VERSION: "23.0.1" - RUBY_VERSION: "2.7" RUBYGEMS_VERSION: "3.4" GO_VERSION: "1.20" RUST_VERSION: "1.65" @@ -152,18 +152,19 @@ variables: GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse" KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/report-master.json RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt + RSPEC_FAIL_FAST_THRESHOLD: 20 + RSPEC_FAST_QUARANTINE_LOCAL_PATH: rspec/fast_quarantine-gitlab.txt RSPEC_FOSS_IMPACT_PIPELINE_TEMPLATE_YML: .gitlab/ci/rails/rspec-foss-impact.gitlab-ci.yml.erb - RSPEC_PREDICTIVE_PIPELINE_TEMPLATE_YML: .gitlab/ci/rails/rspec-predictive.gitlab-ci.yml.erb RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt RSPEC_MATCHING_JS_FILES_PATH: rspec/js_matching_files.txt - RSPEC_VIEWS_INCLUDING_PARTIALS_PATH: rspec/views_including_partials.txt - RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt - RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt RSPEC_MATCHING_TESTS_EE_PATH: rspec/matching_tests-ee.txt + RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt + RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json + RSPEC_PREDICTIVE_PIPELINE_TEMPLATE_YML: .gitlab/ci/rails/rspec-predictive.gitlab-ci.yml.erb RSPEC_PROFILING_FOLDER_PATH: rspec/profiling RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json - RSPEC_FAST_QUARANTINE_LOCAL_PATH: rspec/fast_quarantine-gitlab.txt + RSPEC_VIEWS_INCLUDING_PARTIALS_PATH: rspec/views_including_partials.txt TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests" TMP_TEST_GITLAB_WORKHORSE_PATH: "${TMP_TEST_FOLDER}/${GITLAB_WORKHORSE_FOLDER}" |