summaryrefslogtreecommitdiff
path: root/.gitlab/ci/qa.gitlab-ci.yml
blob: 7c9c08e3e18fc257b8acc6990802653f21233482 (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
.qa-job-base:
  extends:
    - .default-tags
    - .default-retry
    - .default-only
    - .only-code-qa-changes
  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:
  extends: .default-only
  image: ruby:2.6-alpine
  stage: qa
  dependencies: []
  retry: 0
  script:
    - source scripts/utils.sh
    - install_gitlab_gem
    - ./scripts/trigger-build omnibus
  only:
    variables:
      - $CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/)/  # Matches the gitlab-org group or its subgroups

package-and-qa-manual:
  extends:
    - .package-and-qa-base
    - .only-code-changes
  except:
    refs:
      - master
      - /^\d+-\d+-auto-deploy-\d+$/
  when: manual
  needs: ["build-qa-image", "gitlab:assets:compile pull-cache"]

package-and-qa:
  extends:
    - .package-and-qa-base
    - .only-qa-changes
  except:
    refs:
      - master
      - /^\d+-\d+-auto-deploy-\d+$/
  needs: ["build-qa-image", "gitlab:assets:compile pull-cache"]
  allow_failure: true

schedule:package-and-qa:
  extends:
    - .package-and-qa-base
    - .only-code-qa-changes
    - .only-canonical-schedules
  needs: ["build-qa-image", "gitlab:assets:compile"]
  # Allowed to fail until https://gitlab.com/gitlab-org/gitlab/issues/33272 is fixed.
  allow_failure: true