summaryrefslogtreecommitdiff
path: root/.gitlab/ci/global.gitlab-ci.yml
blob: 94d7d2cdaa443d1057bf219d2135a4e8e49008c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
.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

.default-before_script:
  before_script:
    - date
    - 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.3-node-12.x"
    paths:
      - vendor/ruby
      - .yarn-cache/
      - vendor/gitaly-ruby
    policy: pull

.default-only:
  only:
    refs:
      - master
      - /^[\d-]+-stable(-ee)?$/
      - /^\d+-\d+-auto-deploy-\d+$/
      - merge_requests
      - tags

.only-code-changes:
  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"
      - "Dangerfile"
      - "Dockerfile.assets"
      - "*_VERSION"
      - "Gemfile{,.lock}"
      - "Rakefile"
      - "{babel.config,jest.config}.js"
      - "config.ru"
      - "{package.json,yarn.lock}"
      - "{app,bin,config,danger,db,ee,fixtures,haml_lint,lib,public,rubocop,scripts,spec,symbol,vendor}/**/*"
      - "doc/README.md"  # Some RSpec test rely on this file

.only-qa-changes:
  only:
    changes:
      - ".dockerignore"
      - "qa/**/*"

.only-docs-changes:
  only:
    changes:
      - ".gitlab/route-map.yml"
      - "doc/**/*"
      - ".markdownlint.json"

.only-code-qa-changes:
  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"
      - "Dangerfile"
      - "Dockerfile.assets"
      - "*_VERSION"
      - "Gemfile{,.lock}"
      - "Rakefile"
      - "{babel.config,jest.config}.js"
      - "config.ru"
      - "{package.json,yarn.lock}"
      - "{app,bin,config,danger,db,ee,fixtures,haml_lint,lib,public,rubocop,scripts,spec,symbol,vendor}/**/*"
      - "doc/README.md"  # Some RSpec test rely on this file
      - ".dockerignore"
      - "qa/**/*"

.only-review:
  only:
    variables:
      - $CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org"
    kubernetes: active
  except:
    refs:
      - master
      - /^\d+-\d+-auto-deploy-\d+$/

.only-review-schedules:
  only:
    refs:
      - schedules
    variables:
      - $REVIEW_APP_CLEANUP && $CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org"
    kubernetes: active

.use-pg:
  services:
    - name: postgres:9.6.14
      command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
    - name: redis:alpine

.use-pg-10:
  image: "dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-10-graphicsmagick-1.3.33"
  services:
    - name: postgres:10.9
      command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
    - name: redis:alpine

.only-ee:
  only:
    variables:
      - $CI_PROJECT_NAME == "gitlab-ee"
      - $CI_PROJECT_NAME == "gitlab"  # New name of gitlab-ee after the single codebase migration