Welcome to mirror list, hosted at ThFree Co, Russian Federation.

qa.gitlab-ci.yml « ci « .gitlab - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e9a3cd0da907814c1a23cf8e38eba013f3717ec7 (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
# Make sure to update all the similar conditions in other CI config files if you modify these conditions
.if-canonical-gitlab-and-merge-request: &if-canonical-gitlab-and-merge-request
  if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/)/ && $CI_MERGE_REQUEST_IID'

# Make sure to update all the similar patterns in other CI config files if you modify these patterns
.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

# Make sure to update all the similar patterns in other CI config files if you modify these patterns
.qa-patterns: &qa-patterns
  - ".dockerignore"
  - "qa/**/*"

.qa-job-base:
  extends:
    - .default-tags
    - .default-retry
    - .default-only
    - .only:changes-code-qa
  stage: test
  dependencies: []
  cache:
    key: "qa-framework-jobs:v1"
    paths:
      - vendor/ruby
  before_script:
    - cd qa/
    - bundle install --clean --jobs=$(nproc) --path=vendor --retry=3 --quiet
    - bundle check

qa:internal:
  extends: .qa-job-base
  script:
    - bundle exec rspec

qa:selectors:
  extends: .qa-job-base
  script:
    - bundle exec bin/qa Test::Sanity::Selectors

qa:selectors-foss:
  extends:
    - qa:selectors
    - .only-ee-as-if-foss

.package-and-qa-base:
  image: ruby:2.6-alpine
  stage: qa
  dependencies: []
  retry: 0
  script:
    - source scripts/utils.sh
    - install_gitlab_gem
    - ./scripts/trigger-build omnibus

package-and-qa:
  extends: .package-and-qa-base
  rules:
    - <<: *if-canonical-gitlab-and-merge-request
      changes: *qa-patterns
      when: on_success
    - <<: *if-canonical-gitlab-and-merge-request
      changes: *code-patterns
      when: manual
  needs: ["build-qa-image", "gitlab:assets:compile pull-cache"]
  allow_failure: true

schedule:package-and-qa:
  extends:
    - .package-and-qa-base
    - .default-only
    - .only:variables_refs-canonical-dot-com-schedules
  needs: ["build-qa-image", "gitlab:assets:compile pull-cache"]
  allow_failure: true