@@ -27,12 +27,16 @@ def build_agent_image_ubi(config: DevConfig) -> None:
2727 args = {
2828 "agent_version" : release ["agent" ]["version" ],
2929 "tools_version" : release ["agent" ]["tools_version" ],
30- "tools_distro" : "ubuntu1604 -x86_64" ,
31- "agent_distro" : "linux_x86_64 " ,
30+ "tools_distro" : "rhel70 -x86_64" ,
31+ "agent_distro" : "rhel7_x86_64 " ,
3232 "registry" : config .repo_url ,
3333 }
34+
35+ config .ensure_tag_is_run ("ubi" )
36+
3437 sonar_build_image (
3538 image_name ,
39+ config ,
3640 args = args ,
3741 )
3842
@@ -44,36 +48,55 @@ def build_agent_image_ubuntu(config: DevConfig) -> None:
4448 args = {
4549 "agent_version" : release ["agent" ]["version" ],
4650 "tools_version" : release ["agent" ]["tools_version" ],
47- "tools_distro" : "rhel70 -x86_64" ,
48- "agent_distro" : "rhel7_x86_64 " ,
51+ "tools_distro" : "ubuntu1604 -x86_64" ,
52+ "agent_distro" : "linux_x86_64 " ,
4953 "registry" : config .repo_url ,
5054 }
55+
56+ config .ensure_tag_is_run ("ubuntu" )
57+
5158 sonar_build_image (
5259 image_name ,
60+ config ,
5361 args = args ,
5462 )
5563
5664
5765def build_readiness_probe_image (config : DevConfig ) -> None :
66+ with open ("release.json" ) as f :
67+ release = json .loads (f .read ())
68+
69+ config .ensure_tag_is_run ("readiness-probe" )
70+
5871 sonar_build_image (
5972 "readiness-probe-init" ,
73+ config ,
6074 args = {
6175 "registry" : config .repo_url ,
76+ "release_version" : release ["readiness-probe" ],
6277 },
6378 )
6479
6580
6681def build_version_post_start_hook_image (config : DevConfig ) -> None :
82+ with open ("release.json" ) as f :
83+ release = json .loads (f .read ())
84+
85+ config .ensure_tag_is_run ("post-start-hook" )
86+
6787 sonar_build_image (
6888 "version-post-start-hook-init" ,
89+ config ,
6990 args = {
7091 "registry" : config .repo_url ,
92+ "release_version" : release ["version-upgrade-hook" ],
7193 },
7294 )
7395
7496
7597def sonar_build_image (
7698 image_name : str ,
99+ config : DevConfig ,
77100 args : Optional [Dict [str , str ]] = None ,
78101 inventory : str = "inventory.yaml" ,
79102) -> None :
@@ -82,14 +105,15 @@ def sonar_build_image(
82105 image_name ,
83106 build_args = args ,
84107 inventory = inventory ,
85- include_tags = [] ,
86- skip_tags = [] ,
108+ include_tags = config . include_tags ,
109+ skip_tags = config . skip_tags ,
87110 )
88111
89112
90113def _parse_args () -> argparse .Namespace :
91114 parser = argparse .ArgumentParser ()
92115 parser .add_argument ("--image-name" , type = str )
116+ parser .add_argument ("--release" , type = bool )
93117 return parser .parse_args ()
94118
95119
@@ -103,14 +127,24 @@ def main() -> int:
103127 )
104128 return 1
105129
130+ config = load_config ()
131+
132+ # by default we do not want to run any release tasks. We must explicitly
133+ # use the --release flag to run them.
134+ config .ensure_skip_tag ("release" )
135+
136+ # specify --release to release the image
137+ if args .release :
138+ config .ensure_tag_is_run ("release" )
139+
106140 image_build_function = {
107141 "agent-ubi" : build_agent_image_ubi ,
108142 "agent-ubuntu" : build_agent_image_ubuntu ,
109143 "readiness-probe-init" : build_readiness_probe_image ,
110144 "version-post-start-hook-init" : build_version_post_start_hook_image ,
111145 }[image_name ]
112146
113- image_build_function (load_config () )
147+ image_build_function (config )
114148 return 0
115149
116150
0 commit comments