forked from hyperledger-archives/indy-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcd-pipeline.puml
142 lines (133 loc) · 3.67 KB
/
cd-pipeline.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
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
@startuml
start
title Indy SDK CI/CD Pipeline structure
scale 0.8
partition Testing {
fork
partition "Ubuntu Testing" {
:Start test pool;
if (BRANCH_NAME in ["master", "rc"]) then (yes)
:<b>Libindy\nRelease build;
else (no)
:<b>Libindy\nDebug build;
endif
:<b>Libindy
Testing;
:<b>Python Wrapper
Testing;
:<b>Java Wrapper
Testing;
}
fork again
partition "RHEL Testing" {
:Start test pool;
if (BRANCH_NAME in ["master", "rc"]) then (yes)
:<b>Libindy\nRelease build;
else (no)
:<b>Libindy\nDebug build;
endif
:<b>Libindy
Testing;
:<b>Python Wrapper
Testing;
:<b>Java Wrapper
Testing;
}
fork again
partition "Windows Testing" {
:Start test pool;
if (BRANCH_NAME in ["master", "rc"]) then (yes)
:<b>Libindy\nRelease build;
else (no)
:<b>Libindy\nDebug build;
endif
:<b>Libindy
Testing;
:<b>Python Wrapper
Testing;
:<b>Java Wrapper
Testing;
#red:<b>.Net Wrapper
Testing;
note right: Not implemented yet\nSee IS-257
}
fork again
partition "MacOS Testing" {
#red::Skip;
note right: Not implemented yet\nSee IS-192
}
fork again
partition "iOS Testing" {
#red::Skip;
note right: Not implemented yet\nSee IS-189
}
end fork
}
partition Publishing {
if (BRANCH_NAME in ["master", "rc"]) then (yes)
fork
partition "Ubuntu Publishing" {
:<b>Libindy
Build and publish Master/RC debs;
:<b>Python Wrapper
Publish RC to PyPi;
:<b>Java Wrapper
Build and publish Master/RC to Maven Central;
}
fork again
partition "RHEL Publishing" {
:<b>Libindy
Build and publish Master/RC rpms;
}
fork again
partition "Windows Publishing" {
:<b>Libindy
Build and publish Master/RC dlls archive;
#red:<b>.Net Wrapper
Master/RC Publishing;
note right: Not implemented yet\nSee IS-306
}
fork again
partition "MacOS Publishing" {
#red::Skip;
note right: Not implemented yet\nSee IS-6
}
fork again
partition "iOS Publishing" {
#red::Skip;
note right: Not implemented yet\nSee IS-100
}
end fork
else (no)
:<b>Skip publishing;
endif
}
partition "Acceptance Testing" {
if (BRANCH_NAME == "rc") then (yes)
:Notify QA about new artifacts to test;
:Acceptance testing by QA;
else (no)
:<b>Skip Acceptance Testing;
endif
}
partition "Releasing" {
if (BRANCH_NAME == "rc" && Acceptance tests passed) then (yes)
:<b>Libindy
Move RC debs to Stable repo;
:<b>Libindy
Move RC rmps to Stable repo;
:<b>Libindy
Move RC dlls archive to Stable repo;
:<b>Python Wrapper
Publish Stable to PyPi;
:<b>Java Wrapper
Build and publish Stable to Maven Central;
else (no)
:<b>Skip Releasing;
endif
}
partition Notification {
:Notify team about pipeline result;
}
stop
@enduml