2019-08-26 16:41:55 -04:00
|
|
|
stages:
|
2019-10-24 14:07:05 -04:00
|
|
|
- sync
|
2019-08-26 16:41:55 -04:00
|
|
|
- prepare
|
2020-04-28 08:09:44 -04:00
|
|
|
- build-images
|
2020-02-20 07:08:51 -05:00
|
|
|
- fixtures
|
2019-08-26 16:41:55 -04:00
|
|
|
- test
|
2019-11-29 10:06:43 -05:00
|
|
|
- post-test
|
2019-08-28 17:07:54 -04:00
|
|
|
- review-prepare
|
2019-08-26 16:41:55 -04:00
|
|
|
- review
|
2020-08-24 14:10:19 -04:00
|
|
|
- dast
|
2019-08-26 16:41:55 -04:00
|
|
|
- qa
|
2019-11-29 10:06:43 -05:00
|
|
|
- post-qa
|
2019-08-26 16:41:55 -04:00
|
|
|
- pages
|
2020-08-07 17:10:07 -04:00
|
|
|
- notify
|
2019-08-26 16:41:55 -04:00
|
|
|
|
2020-04-08 11:09:29 -04:00
|
|
|
# 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`
|
2020-03-16 08:09:12 -04:00
|
|
|
default:
|
2021-04-08 11:09:06 -04:00
|
|
|
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36"
|
2020-03-16 08:09:12 -04:00
|
|
|
tags:
|
|
|
|
- gitlab-org
|
2020-03-27 05:08:28 -04:00
|
|
|
# All jobs are interruptible by default
|
|
|
|
interruptible: true
|
2020-07-16 11:09:38 -04:00
|
|
|
# Default job timeout set to 90m https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/10520
|
|
|
|
timeout: 90m
|
2020-03-16 08:09:12 -04:00
|
|
|
|
2020-03-09 08:07:45 -04:00
|
|
|
workflow:
|
|
|
|
rules:
|
|
|
|
# If `$FORCE_GITLAB_CI` is set, create a pipeline.
|
|
|
|
- if: '$FORCE_GITLAB_CI'
|
2020-04-23 14:09:46 -04:00
|
|
|
# As part of the process of creating RCs automatically, we update stable
|
|
|
|
# branches with the changes of the most recent production deployment. The
|
|
|
|
# merge requests used for this merge a branch release-tools/X into a stable
|
|
|
|
# branch. For these merge requests we don't want to run any pipelines, as
|
|
|
|
# they serve no purpose and will run anyway when the changes are merged.
|
2020-04-30 14:09:38 -04:00
|
|
|
- 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"'
|
2020-04-23 14:09:46 -04:00
|
|
|
when: never
|
2020-03-09 08:07:45 -04:00
|
|
|
# For merge requests, create a pipeline.
|
|
|
|
- if: '$CI_MERGE_REQUEST_IID'
|
2021-03-30 11:11:08 -04:00
|
|
|
# For `$CI_DEFAULT_BRANCH` branch, create a pipeline (this includes on schedules, pushes, merges, etc.).
|
2020-04-21 11:21:10 -04:00
|
|
|
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
2020-03-09 08:07:45 -04:00
|
|
|
# For tags, create a pipeline.
|
|
|
|
- if: '$CI_COMMIT_TAG'
|
|
|
|
# If `$GITLAB_INTERNAL` isn't set, don't create a pipeline.
|
|
|
|
- if: '$GITLAB_INTERNAL == null'
|
|
|
|
when: never
|
|
|
|
# For stable, auto-deploy, and security branches, create a pipeline.
|
|
|
|
- if: '$CI_COMMIT_BRANCH =~ /^[\d-]+-stable(-ee)?$/'
|
|
|
|
- if: '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/'
|
|
|
|
- if: '$CI_COMMIT_BRANCH =~ /^security\//'
|
|
|
|
|
2016-01-22 08:45:34 -05:00
|
|
|
variables:
|
2016-05-21 21:41:17 -04:00
|
|
|
RAILS_ENV: "test"
|
2017-04-04 13:47:12 -04:00
|
|
|
NODE_ENV: "test"
|
2021-04-08 08:09:18 -04:00
|
|
|
# we override the max_old_space_size to prevent OOM errors
|
|
|
|
NODE_OPTIONS: --max_old_space_size=3584
|
2016-05-21 21:41:17 -04:00
|
|
|
SIMPLECOV: "true"
|
2019-12-11 16:08:17 -05:00
|
|
|
GIT_DEPTH: "20"
|
2017-04-26 11:57:44 -04:00
|
|
|
GIT_SUBMODULE_STRATEGY: "none"
|
2016-12-15 06:40:33 -05:00
|
|
|
GET_SOURCES_ATTEMPTS: "3"
|
2019-09-27 11:06:16 -04:00
|
|
|
KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/report-master.json
|
2017-10-04 07:24:51 -04:00
|
|
|
FLAKY_RSPEC_SUITE_REPORT_PATH: rspec_flaky/report-suite.json
|
2020-10-28 11:08:49 -04:00
|
|
|
RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json
|
|
|
|
RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json
|
2018-11-14 12:36:02 -05:00
|
|
|
BUILD_ASSETS_IMAGE: "false"
|
2019-08-27 12:48:36 -04:00
|
|
|
ES_JAVA_OPTS: "-Xms256m -Xmx256m"
|
2019-12-13 16:07:41 -05:00
|
|
|
ELASTIC_URL: "http://elastic:changeme@elasticsearch:9200"
|
2021-01-05 07:10:36 -05:00
|
|
|
DOCKER_VERSION: "20.10.1"
|
2020-11-09 01:09:23 -05:00
|
|
|
CACHE_CLASSES: "true"
|
2016-01-22 08:45:34 -05:00
|
|
|
|
2020-08-17 14:10:01 -04:00
|
|
|
# Preparing custom clone path to reduce space used by all random forks
|
|
|
|
# on GitLab.com's Shared Runners. Our main forks - especially the security
|
|
|
|
# ones - will have this variable overwritten in the project settings, so that
|
|
|
|
# a security-related code or code using our protected variables will be never
|
|
|
|
# stored on the same path as the community forks.
|
|
|
|
# Part of the solution for the `no space left on device` problem described at
|
|
|
|
# https://gitlab.com/gitlab-org/gitlab/issues/197876.
|
|
|
|
#
|
|
|
|
# For this purpose the https://gitlab.com/gitlab-org-forks group was created
|
|
|
|
# to host a placeholder for the `/builds/gitlab-org-forks` path and ensure
|
|
|
|
# that no legitimate project will ever use it and - by mistake - execute its
|
|
|
|
# job on a shared working directory. It also requires proper configuration of
|
|
|
|
# the Runner that executes the job (which was prepared for our shared runners
|
|
|
|
# by https://ops.gitlab.net/gitlab-cookbooks/chef-repo/-/merge_requests/3977).
|
|
|
|
#
|
|
|
|
# Because of all of that PLEASE DO NOT CHANGE THE PATH.
|
|
|
|
#
|
|
|
|
# For more details and reasoning that brought this change please check
|
|
|
|
# https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24887
|
|
|
|
GIT_CLONE_PATH: "/builds/gitlab-org-forks/${CI_PROJECT_NAME}"
|
|
|
|
|
2019-04-12 04:56:38 -04:00
|
|
|
include:
|
2020-06-18 14:08:58 -04:00
|
|
|
- local: .gitlab/ci/build-images.gitlab-ci.yml
|
2019-12-16 10:07:39 -05:00
|
|
|
- local: .gitlab/ci/cache-repo.gitlab-ci.yml
|
2019-04-12 04:56:38 -04:00
|
|
|
- local: .gitlab/ci/cng.gitlab-ci.yml
|
|
|
|
- local: .gitlab/ci/docs.gitlab-ci.yml
|
|
|
|
- local: .gitlab/ci/frontend.gitlab-ci.yml
|
2019-10-01 11:06:05 -04:00
|
|
|
- local: .gitlab/ci/global.gitlab-ci.yml
|
2019-06-13 11:14:06 -04:00
|
|
|
- local: .gitlab/ci/memory.gitlab-ci.yml
|
2019-04-12 04:56:38 -04:00
|
|
|
- local: .gitlab/ci/pages.gitlab-ci.yml
|
|
|
|
- local: .gitlab/ci/qa.gitlab-ci.yml
|
|
|
|
- local: .gitlab/ci/reports.gitlab-ci.yml
|
|
|
|
- local: .gitlab/ci/rails.gitlab-ci.yml
|
2021-04-09 20:09:11 -04:00
|
|
|
- local: .gitlab/ci/vendored-gems.gitlab-ci.yml
|
2019-04-12 04:56:38 -04:00
|
|
|
- local: .gitlab/ci/review.gitlab-ci.yml
|
2020-02-18 10:08:51 -05:00
|
|
|
- local: .gitlab/ci/rules.gitlab-ci.yml
|
2019-04-12 04:56:38 -04:00
|
|
|
- local: .gitlab/ci/setup.gitlab-ci.yml
|
2019-12-20 04:24:38 -05:00
|
|
|
- local: .gitlab/ci/dev-fixtures.gitlab-ci.yml
|
2019-04-12 04:56:38 -04:00
|
|
|
- local: .gitlab/ci/test-metadata.gitlab-ci.yml
|
2019-06-05 12:31:35 -04:00
|
|
|
- local: .gitlab/ci/yaml.gitlab-ci.yml
|
2019-10-24 14:07:05 -04:00
|
|
|
- local: .gitlab/ci/releases.gitlab-ci.yml
|
2020-08-07 17:10:07 -04:00
|
|
|
- local: .gitlab/ci/notify.gitlab-ci.yml
|
2020-08-24 14:10:19 -04:00
|
|
|
- local: .gitlab/ci/dast.gitlab-ci.yml
|
2020-12-02 10:09:37 -05:00
|
|
|
- local: .gitlab/ci/workhorse.gitlab-ci.yml
|
2021-01-07 16:10:18 -05:00
|
|
|
- local: .gitlab/ci/graphql.gitlab-ci.yml
|
2021-04-09 11:09:10 -04:00
|
|
|
# switch the remote include to a local include until this is resolved:
|
|
|
|
# https://gitlab.com/gitlab-org/gitlab/-/issues/327299
|
|
|
|
# - remote: 'https://gitlab.com/gitlab-org/frontend/untamper-my-lockfile/-/raw/main/.gitlab-ci-template.yml'
|
|
|
|
- local: .gitlab/ci/untamper-my-lockfile.yml
|