-
由 Jennifer Li 创作于由 Jennifer Li 创作于
代码所有者
将用户和群组指定为特定文件更改的核准人。 了解更多。
.gitlab-ci.yml 13.97 KiB
stages:
- sync
- preflight
- prepare
- build-images
- fixtures
- lint
- test-frontend
- test
- post-test
- review
- qa
- post-qa
- pre-merge
- pages
- notify
- release-environments
- benchmark
# always use `gitlab-org` runners, however
# in cases where jobs require Docker-in-Docker, the job
# definition must be extended with `.use-docker-in-docker`
default:
image: $DEFAULT_CI_IMAGE
tags:
- $DEFAULT_JOB_TAG
# All jobs are interruptible by default
interruptible: true
# Default job timeout doesn't work: https://gitlab.com/gitlab-org/gitlab/-/issues/387528
timeout: 90m
.default-ruby-variables: &default-ruby-variables
RUBY_VERSION: "${RUBY_VERSION_DEFAULT}"
OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3_1"
.next-ruby-variables: &next-ruby-variables
RUBY_VERSION: "${RUBY_VERSION_NEXT}"
OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3_2"
.default-branch-pipeline-failure-variables: &default-branch-pipeline-failure-variables
CREATE_RAILS_FLAKY_TEST_ISSUES: "true"
CREATE_RAILS_SLOW_TEST_ISSUES: "true"
CREATE_RAILS_TEST_FAILURE_ISSUES: "true"
.default-merge-request-variables: &default-merge-request-variables
NO_SOURCEMAPS: "true"
ADD_SLOW_TEST_NOTE_TO_MERGE_REQUEST: "true"
FF_NETWORK_PER_BUILD: "true"
FF_TIMESTAMPS: "true"
.if-merge-request-security-canonical-sync: &if-merge-request-security-canonical-sync
if: '$CI_MERGE_REQUEST_SOURCE_PROJECT_PATH == "gitlab-org/security/gitlab" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_DEFAULT_BRANCH && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
.if-not-security-canonical-sync: &if-not-security-canonical-sync
if: '$CI_MERGE_REQUEST_SOURCE_PROJECT_PATH != "gitlab-org/security/gitlab" || $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_DEFAULT_BRANCH'
.if-merge-request-labels-run-with-rails-next: &if-merge-request-labels-run-with-rails-next
if: '($CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_EVENT_TYPE != "merge_train") && $CI_MERGE_REQUEST_LABELS =~ /pipeline:run-with-rails-next/'
workflow:
name: '$PIPELINE_NAME'
rules:
- if: '$CI_PIPELINE_SOURCE == "pipeline" && $GITALY_TEST'
variables:
<<: *default-ruby-variables
PIPELINE_NAME: 'Gitaly Rails Test Pipeline'
# If `$FORCE_GITLAB_CI` is set, create a pipeline.
- if: '$FORCE_GITLAB_CI'
variables:
<<: *default-ruby-variables