summaryrefslogtreecommitdiff
path: root/.gitlab/ci/qa.gitlab-ci.yml
blob: 20527b690a7e8ffd7ca53a4c6efc55391ee0186d (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
.qa-job-base:
  extends:
    - .default-retry
    - .qa-cache
  stage: test
  needs: []
  before_script:
    - '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb'
    - cd qa/
    - bundle install --clean --jobs=$(nproc) --path=vendor --retry=3 --quiet
    - bundle check

qa:internal:
  extends:
    - .qa-job-base
    - .qa:rules:ee-and-foss
  script:
    - bundle exec rspec

qa:internal-as-if-foss:
  extends:
    - qa:internal
    - .qa:rules:as-if-foss
    - .as-if-foss

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

qa:selectors-as-if-foss:
  extends:
    - qa:selectors
    - .qa:rules:as-if-foss
    - .as-if-foss

update-qa-cache:
  extends:
    - .qa-job-base
    - .shared:rules:update-cache
  stage: prepare
  script:
    - echo "Cache has been updated and ready to be uploaded."
  cache:
    policy: push  # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.

.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
    - .qa:rules:package-and-qa
  needs:
    - job: build-qa-image
      artifacts: false
    - job: build-assets-image
      artifacts: false