summaryrefslogtreecommitdiff
path: root/spec/services/ci/pipeline_processing/test_cases/dag_build_test_two_manual_review_test_staging_production.yml
blob: ed009ee4f25e790bb5181fb7fce2f473051923cf (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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
config:
  stages: [build, test, review, deploy, post_deploy]

  build:
    stage: build
    script: exit 0

  test:
    stage: test
    script: exit 0

  release_test1:
    stage: test
    when: manual
    script: exit 0

  release_test2:
    stage: test
    when: manual
    script: exit 0

  review:
    stage: review
    script: exit 0
    needs: [test, release_test1, release_test2]

  staging:
    stage: deploy
    script: exit 0
    needs: [release_test1]

  production:
    stage: deploy
    script: exit 0
    needs: [release_test2]

  after_deploy:
    stage: post_deploy
    script: exit 0
    needs: [production]

  handle_failure:
    stage: post_deploy
    when: on_failure
    script: exit 0

init:
  expect:
    pipeline: pending
    stages:
      build: pending
      test: created
      review: created
      deploy: created
      post_deploy: created
    jobs:
      build: pending
      test: created
      release_test1: created
      release_test2: created
      review: created
      staging: created
      production: created
      after_deploy: created
      handle_failure: created

transitions:
  - event: success
    jobs: [build]
    expect:
      pipeline: running
      stages:
        build: success
        test: pending
        review: skipped
        deploy: skipped
        post_deploy: pending
      jobs:
        build: success
        test: pending
        release_test1: manual
        release_test2: manual
        review: skipped
        staging: skipped
        production: skipped
        after_deploy: skipped
        handle_failure: created

  - event: success
    jobs: [test]
    expect:
      pipeline: success
      stages:
        build: success
        test: success
        review: skipped
        deploy: skipped
        post_deploy: skipped
      jobs:
        build: success
        test: success
        release_test1: manual
        release_test2: manual
        review: skipped
        staging: skipped
        production: skipped
        after_deploy: skipped
        handle_failure: skipped

  - event: play
    jobs: [release_test1]
    expect:
      pipeline: running
      stages:
        build: success
        test: running
        review: skipped
        deploy: pending
        post_deploy: pending
      jobs:
        build: success
        test: success
        release_test1: pending
        release_test2: manual
        review: skipped
        staging: created
        production: skipped
        after_deploy: skipped
        handle_failure: created

  - event: success
    jobs: [release_test1]
    expect:
      pipeline: running
      stages:
        build: success
        test: success
        review: skipped
        deploy: pending
        post_deploy: pending
      jobs:
        build: success
        test: success
        release_test1: success
        release_test2: manual
        review: skipped
        staging: pending
        production: skipped
        after_deploy: skipped
        handle_failure: created

  - event: success
    jobs: [staging]
    expect:
      pipeline: success
      stages:
        build: success
        test: success
        review: skipped
        deploy: success
        post_deploy: skipped
      jobs:
        build: success
        test: success
        release_test1: success
        release_test2: manual
        review: skipped
        staging: success
        production: skipped
        after_deploy: skipped
        handle_failure: skipped