forked from spinnaker/spinnaker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild_and_publish.dot
127 lines (100 loc) · 3.11 KB
/
build_and_publish.dot
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
# http://viz-js.com/
#
# Regen locally with `dot -O -Tpng dev/build_and_publish.dot`
digraph Flow_Build {
labeljust=l
style=filled;
color=lightgrey;
node [style=filled,color=white];
Trigger [shape=Msquare];
Trigger -> build_bom
bom_built -> build_containers
bom_built -> build_debians
bom_built -> build_rpms
bom_built -> build_changelog
bom_built -> build_apidocs
subgraph cluster_0 {
label = "Build BOM"
build_bom -> git_clone_at_branch;
subgraph cluster_1 {
label = "For Each Service..."
style=filled;
color=aquamarine3;
git_clone_at_branch -> get_HEAD_hash;
get_HEAD_hash -> look_backwards_for_SEMVER_tag;
}
look_backwards_for_SEMVER_tag -> bom_built
}
subgraph cluster_10 {
label = "Containers";
color=lightblue;
build_containers -> git_clone_from_BOM_hash_10;
subgraph cluster_11 {
label = "For Each Service..."
color=aquamarine3
git_clone_from_BOM_hash_10 -> git_tag_SEMVER_buildnum_10;
git_tag_SEMVER_buildnum_10 -> gcloud_container_build
}
}
gcloud_container_build -> publish_nightly_bom;
subgraph cluster_20 {
label = "Debians";
color=lightblue;
build_debians -> git_clone_20;
subgraph cluster_21 {
label = "For Each Service..."
color=aquamarine3
git_clone_20 -> checkout_hash_20;
// delete tags
checkout_hash_20 -> gradle_buildDeb_20;
}
}
gradle_buildDeb_20 -> publish_nightly_bom;
subgraph cluster_30 {
label = "RPMs";
color=lightblue;
build_rpms -> git_clone_from_BOM_hash_30;
subgraph cluster_31 {
label = "For Each Service..."
color=aquamarine3
git_clone_from_BOM_hash_30 -> git_tag_SEMVER_buildnum_30;
// delete tags
git_tag_SEMVER_buildnum_30 -> gradle_buildRpm_30;
}
}
gradle_buildRpm_30 -> publish_nightly_bom;
subgraph cluster_40 {
label = "Changelog";
build_changelog -> git_clone_from_BOM_hash_40;
subgraph cluster_41 {
label = "For Each Service..."
color=aquamarine3
git_clone_from_BOM_hash_40 -> look_backwards_for_SEMVER_tag_commit;
look_backwards_for_SEMVER_tag_commit -> collect_commit_messages;
}
collect_commit_messages -> generate_markdown_to_file;
}
generate_markdown_to_file -> publish_nightly_bom;
subgraph cluster_50 {
label = "API Docs";
build_apidocs -> git_clone_gate_BOM_hash;
git_clone_gate_BOM_hash -> gradle_boot_run;
gradle_boot_run -> generate_swagger_docs_to_file;
generate_swagger_docs_to_file -> shutdown_gate;
}
shutdown_gate -> publish_nightly_bom;
subgraph cluster_60 {
label = "Publish";
color=lightgoldenrod
publish_nightly_bom -> git_clone_from_BOM_hash_60;
subgraph cluster_61 {git_clone_from_BOM_hash_60
label = "For Each Service..."
color=aquamarine3
git_clone_from_BOM_hash_60 -> get_hal_configs;
get_hal_configs -> hal_admin_publish_profile;
hal_admin_publish_profile -> hal_admin_publish_profile_alias_copy;
}
hal_admin_publish_profile_alias_copy -> hal_admin_publish_bom
hal_admin_publish_bom -> hal_admin_publish_bom_alias_copy;
}
}