-
Notifications
You must be signed in to change notification settings - Fork 0
/
sequence-diagram.puml
48 lines (38 loc) · 1.21 KB
/
sequence-diagram.puml
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
@startuml
participant Action as "GitHub\nActions"
participant step1 as "create-github-\ndeployment"
participant step2 as "create-cloudflare-\npages-deployment"
participant step3 as "poll-deployment-\nstatus"
participant GitHub as "GitHub\nAPI"
participant Cloudflare as "Cloudflare\nAPI"
' Step 1 Create GitHub deployment
Action -> step1 : Start step
step1 -> GitHub : Create GitHub deployment
return
step1 --> Action : Deployment ID
' Step 2 Create Cloudflare Pages deployment
Action -> step2 : Start step
step2 -> Cloudflare : Create Pages deployment
return
step2 --> Action
' Step 3 Poll deployment status
Action -> step3 : Start step
loop up to 5 minutes
step3 -> Cloudflare : Find matching deployment
return id, stage, status
alt status == failure
step3 -> GitHub : Create GitHub deployment status (failed)
return
step3 --> Action
end
alt stage == deploy and status == success
step3 -> GitHub : Create GitHub deployment status (success)
return
step3 --> Action : id, Cloudflare Pages url
end
step3 -> GitHub : Create GitHub deployment status (pending)
return
end
step3 -> GitHub : Create GitHub deployment status (error)
step3 --> Action
@enduml