251 lines
6.9 KiB
YAML
251 lines
6.9 KiB
YAML
.default-tags:
|
|
tags:
|
|
- gitlab-org
|
|
|
|
.default-retry:
|
|
retry:
|
|
max: 2 # This is confusing but this means "3 runs at max".
|
|
when:
|
|
- unknown_failure
|
|
- api_failure
|
|
- runner_system_failure
|
|
- job_execution_timeout
|
|
- stuck_or_timeout_failure
|
|
|
|
.default-before_script:
|
|
before_script:
|
|
- date
|
|
- '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb'
|
|
- export GOPATH=$CI_PROJECT_DIR/.go
|
|
- mkdir -p $GOPATH
|
|
- source scripts/utils.sh
|
|
- source scripts/prepare_build.sh
|
|
- date
|
|
|
|
# Jobs that only need to pull cache
|
|
.default-cache:
|
|
cache:
|
|
key: "debian-stretch-ruby-2.6.5-pg9.6-node-12.x"
|
|
paths:
|
|
- .go/pkg/mod
|
|
- vendor/ruby
|
|
- .yarn-cache/
|
|
- vendor/gitaly-ruby
|
|
policy: pull
|
|
|
|
.default-only:
|
|
only:
|
|
refs:
|
|
- master
|
|
- /^[\d-]+-stable(-ee)?$/
|
|
- /^\d+-\d+-auto-deploy-\d+$/
|
|
- /^security\//
|
|
- merge_requests
|
|
- tags
|
|
|
|
.only:variables-canonical-dot-com:
|
|
only:
|
|
variables:
|
|
- $CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/)/ # Matches the gitlab-org group or its subgroups
|
|
|
|
.only:variables_refs-canonical-dot-com-schedules:
|
|
extends: .only:variables-canonical-dot-com
|
|
only:
|
|
refs:
|
|
- schedules
|
|
|
|
.except:refs-deploy:
|
|
except:
|
|
refs:
|
|
- /^\d+-\d+-auto-deploy-\d+$/
|
|
|
|
.except:refs-master-tags-stable-deploy:
|
|
except:
|
|
refs:
|
|
- master
|
|
- tags
|
|
- /^[\d-]+-stable(-ee)?$/
|
|
- /^\d+-\d+-auto-deploy-\d+$/
|
|
|
|
.only:kubernetes:
|
|
only:
|
|
kubernetes: active
|
|
|
|
.only-review:
|
|
extends:
|
|
- .only:variables-canonical-dot-com
|
|
- .only:kubernetes
|
|
- .except:refs-master-tags-stable-deploy
|
|
|
|
.only-review-schedules:
|
|
extends:
|
|
- .only:variables_refs-canonical-dot-com-schedules
|
|
- .only:kubernetes
|
|
- .except:refs-deploy
|
|
|
|
.code-patterns: &code-patterns
|
|
- ".gitlab/ci/**/*"
|
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml"
|
|
- ".csscomb.json"
|
|
- "Dockerfile.assets"
|
|
- "*_VERSION"
|
|
- "Gemfile{,.lock}"
|
|
- "Rakefile"
|
|
- "{babel.config,jest.config}.js"
|
|
- "config.ru"
|
|
- "{package.json,yarn.lock}"
|
|
- "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
|
|
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
|
|
|
|
.backstage-patterns: &backstage-patterns
|
|
- "Dangerfile"
|
|
- "danger/**/*"
|
|
- "{,ee/}fixtures/**/*"
|
|
- "{,ee/}rubocop/**/*"
|
|
- "{,ee/}spec/**/*"
|
|
- "doc/README.md" # Some RSpec test rely on this file
|
|
|
|
.qa-patterns: &qa-patterns
|
|
- ".dockerignore"
|
|
- "qa/**/*"
|
|
|
|
.docs-patterns: &docs-patterns
|
|
- ".gitlab/route-map.yml"
|
|
- "doc/**/*"
|
|
- ".markdownlint.json"
|
|
|
|
.only:changes-code:
|
|
only:
|
|
changes: *code-patterns
|
|
|
|
.only:changes-qa:
|
|
only:
|
|
changes: *qa-patterns
|
|
|
|
.only:changes-docs:
|
|
only:
|
|
changes: *docs-patterns
|
|
|
|
.only:changes-code-backstage:
|
|
only:
|
|
changes:
|
|
- ".gitlab/ci/**/*"
|
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml"
|
|
- ".csscomb.json"
|
|
- "Dockerfile.assets"
|
|
- "*_VERSION"
|
|
- "Gemfile{,.lock}"
|
|
- "Rakefile"
|
|
- "{babel.config,jest.config}.js"
|
|
- "config.ru"
|
|
- "{package.json,yarn.lock}"
|
|
- "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
|
|
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
|
|
# Backstage changes
|
|
- "Dangerfile"
|
|
- "danger/**/*"
|
|
- "{,ee/}fixtures/**/*"
|
|
- "{,ee/}rubocop/**/*"
|
|
- "{,ee/}spec/**/*"
|
|
- "doc/README.md" # Some RSpec test rely on this file
|
|
|
|
.only:changes-code-qa:
|
|
only:
|
|
changes:
|
|
- ".gitlab/ci/**/*"
|
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml"
|
|
- ".csscomb.json"
|
|
- "Dockerfile.assets"
|
|
- "*_VERSION"
|
|
- "Gemfile{,.lock}"
|
|
- "Rakefile"
|
|
- "{babel.config,jest.config}.js"
|
|
- "config.ru"
|
|
- "{package.json,yarn.lock}"
|
|
- "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
|
|
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
|
|
# QA changes
|
|
- ".dockerignore"
|
|
- "qa/**/*"
|
|
|
|
.only:changes-code-backstage-qa:
|
|
only:
|
|
changes:
|
|
- ".gitlab/ci/**/*"
|
|
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
|
|
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml"
|
|
- ".csscomb.json"
|
|
- "Dockerfile.assets"
|
|
- "*_VERSION"
|
|
- "Gemfile{,.lock}"
|
|
- "Rakefile"
|
|
- "{babel.config,jest.config}.js"
|
|
- "config.ru"
|
|
- "{package.json,yarn.lock}"
|
|
- "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
|
|
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
|
|
# Backstage changes
|
|
- "Dangerfile"
|
|
- "danger/**/*"
|
|
- "{,ee/}fixtures/**/*"
|
|
- "{,ee/}rubocop/**/*"
|
|
- "{,ee/}spec/**/*"
|
|
- "doc/README.md" # Some RSpec test rely on this file
|
|
# QA changes
|
|
- ".dockerignore"
|
|
- "qa/**/*"
|
|
|
|
.use-pg9:
|
|
services:
|
|
- name: postgres:9.6
|
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
|
- name: redis:alpine
|
|
variables:
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
|
|
.use-pg10:
|
|
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.5-golang-1.12-git-2.24-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34"
|
|
services:
|
|
- name: postgres:10.9
|
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
|
- name: redis:alpine
|
|
variables:
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
|
|
.use-pg9-ee:
|
|
services:
|
|
- name: postgres:9.6
|
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
|
- name: redis:alpine
|
|
- name: elasticsearch:6.4.2
|
|
variables:
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
|
|
.use-pg10-ee:
|
|
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.5-golang-1.12-git-2.24-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-10-graphicsmagick-1.3.34"
|
|
services:
|
|
- name: postgres:10.9
|
|
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
|
|
- name: redis:alpine
|
|
- name: elasticsearch:6.4.2
|
|
variables:
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
|
|
.only-ee:
|
|
only:
|
|
variables:
|
|
- $CI_PROJECT_NAME == "gitlab"
|
|
- $CI_PROJECT_NAME == "gitlab-ee" # Support former project name for forks/mirrors
|
|
|
|
.as-if-foss:
|
|
variables:
|
|
FOSS_ONLY: '1'
|
|
|
|
.only-ee-as-if-foss:
|
|
extends:
|
|
- .only-ee
|
|
- .as-if-foss
|