diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cf99e877a9702..d3e2852a63039 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -170,7 +170,7 @@ variables: # To use images from datadog-agent-buildimages dev branches, set the corresponding # SUFFIX variable to _test_only DATADOG_AGENT_BUILDIMAGES_SUFFIX: "" - DATADOG_AGENT_BUILDIMAGES: v54965839-ff6db30b + DATADOG_AGENT_BUILDIMAGES: v55677206-ea52e48c DATADOG_AGENT_WINBUILDIMAGES_SUFFIX: "" DATADOG_AGENT_WINBUILDIMAGES: v54965839-ff6db30b DATADOG_AGENT_ARMBUILDIMAGES_SUFFIX: "" diff --git a/.gitlab/functional_test/static_quality_gate.yml b/.gitlab/functional_test/static_quality_gate.yml index d47c75059715a..2ecea98388cb5 100644 --- a/.gitlab/functional_test/static_quality_gate.yml +++ b/.gitlab/functional_test/static_quality_gate.yml @@ -9,6 +9,16 @@ static_quality_gates: needs: - job: agent_deb-x64-a7 artifacts: true + - job: agent_deb-arm64-a7 + artifacts: true + - job: agent_rpm-x64-a7 + artifacts: true + - job: agent_rpm-arm64-a7 + artifacts: true + - job: agent_suse-x64-a7 + artifacts: true + - job: agent_suse-arm64-a7 + artifacts: true - job: docker_build_agent7 artifacts: true - job: docker_build_agent7_arm64 @@ -21,6 +31,28 @@ static_quality_gates: artifacts: true - job: docker_build_cluster_agent_arm64 artifacts: true + - job: docker_build_dogstatsd_amd64 + artifacts: true + - job: docker_build_dogstatsd_arm64 + artifacts: true + - job: dogstatsd_deb-x64 + artifacts: true + - job: dogstatsd_deb-arm64 + artifacts: true + - job: dogstatsd_rpm-x64 + artifacts: true + - job: dogstatsd_suse-x64 + artifacts: true + - job: iot_agent_deb-x64 + artifacts: true + - job: iot_agent_deb-arm64 + artifacts: true + - job: iot_agent_rpm-x64 + artifacts: true + - job: iot_agent_rpm-arm64 + artifacts: true + - job: iot_agent_suse-x64 + artifacts: true # Static Quality Gates aren't enforced until Q1 allow_failure: true script: diff --git a/tasks/quality_gates.py b/tasks/quality_gates.py index 539903e99d8ab..1cf1518c9cfb0 100644 --- a/tasks/quality_gates.py +++ b/tasks/quality_gates.py @@ -39,7 +39,7 @@ def display_pr_comment( :return: """ title = f"Static quality checks {SUCCESS_CHAR if final_state else FAIL_CHAR}" - body_info = body_pattern.format("Info") + body_info = "
\nSuccessful checks\n\n" + body_pattern.format("Info") body_error = body_pattern.format("Error") body_error_footer = body_error_footer_pattern @@ -64,6 +64,7 @@ def getMetric(metric_name, gate_name=gate['name']): with_error = True body_error_footer += "\n
\n" + body_info += "\n\n" body = f"Please find below the results from static quality gates\n{body_error+body_error_footer if with_error else ''}\n\n{body_info if with_info else ''}" pr_commenter(ctx, title=title, body=body) diff --git a/tasks/static_quality_gates/lib/gates_lib.py b/tasks/static_quality_gates/lib/gates_lib.py index 48d88fb7a0e25..c7ece6d3e9dc2 100644 --- a/tasks/static_quality_gates/lib/gates_lib.py +++ b/tasks/static_quality_gates/lib/gates_lib.py @@ -79,6 +79,14 @@ def find_package_path(flavor, package_os, arch): class GateMetricHandler: + # All metric_name -> metric_key + METRICS_DICT = { + "datadog.agent.static_quality_gate.on_wire_size": "current_on_wire_size", + "datadog.agent.static_quality_gate.on_disk_size": "current_on_disk_size", + "datadog.agent.static_quality_gate.max_allowed_on_wire_size": "max_on_wire_size", + "datadog.agent.static_quality_gate.max_allowed_on_disk_size": "max_on_disk_size", + } + def __init__(self, git_ref, bucket_branch): self.metrics = {} self.metadata = {} @@ -101,6 +109,18 @@ def register_gate_tags(self, gate, **kwargs): for key in kwargs: self.metadata[gate][key] = kwargs[key] + def _add_gauge(self, timestamp, common_tags, gate, metric_name, metric_key): + if self.metrics[gate].get(metric_key): + return create_gauge( + metric_name, + timestamp, + self.metrics[gate][metric_key], + tags=common_tags, + metric_origin=get_metric_origin(ORIGIN_PRODUCT, ORIGIN_CATEGORY, ORIGIN_SERVICE), + unit="byte", + ) + return None + def _generate_series(self): if not self.git_ref or not self.bucket_branch: return None @@ -120,46 +140,17 @@ def _generate_series(self): for tag in self.metadata[gate]: common_tags.append(f"{tag}:{self.metadata[gate][tag]}") - series.append( - create_gauge( - "datadog.agent.static_quality_gate.on_wire_size", - timestamp, - self.metrics[gate]["current_on_wire_size"], - tags=common_tags, - metric_origin=get_metric_origin(ORIGIN_PRODUCT, ORIGIN_CATEGORY, ORIGIN_SERVICE), - unit="byte", - ), - ) - series.append( - create_gauge( - "datadog.agent.static_quality_gate.on_disk_size", - timestamp, - self.metrics[gate]["current_on_disk_size"], - tags=common_tags, - metric_origin=get_metric_origin(ORIGIN_PRODUCT, ORIGIN_CATEGORY, ORIGIN_SERVICE), - unit="byte", - ), - ) - series.append( - create_gauge( - "datadog.agent.static_quality_gate.max_allowed_on_wire_size", - timestamp, - self.metrics[gate]["max_on_wire_size"], - tags=common_tags, - metric_origin=get_metric_origin(ORIGIN_PRODUCT, ORIGIN_CATEGORY, ORIGIN_SERVICE), - unit="byte", - ), - ) - series.append( - create_gauge( - "datadog.agent.static_quality_gate.max_allowed_on_disk_size", - timestamp, - self.metrics[gate]["max_on_disk_size"], - tags=common_tags, - metric_origin=get_metric_origin(ORIGIN_PRODUCT, ORIGIN_CATEGORY, ORIGIN_SERVICE), - unit="byte", - ), - ) + for metric_name, metric_key in self.METRICS_DICT.items(): + gauge = self._add_gauge(timestamp, common_tags, gate, metric_name, metric_key) + if gauge: + series.append(gauge) + else: + print( + color_message( + f"[WARN] gate {gate} doesn't have the {metric_name} metric registered ! skipping metric...", + "orange", + ) + ) return series def send_metrics_to_datadog(self): diff --git a/tasks/static_quality_gates/lib/package_agent_lib.py b/tasks/static_quality_gates/lib/package_agent_lib.py new file mode 100644 index 0000000000000..10ec6521b3b2e --- /dev/null +++ b/tasks/static_quality_gates/lib/package_agent_lib.py @@ -0,0 +1,72 @@ +import tempfile + +from tasks.libs.common.color import color_message +from tasks.libs.package.size import directory_size, extract_package, file_size +from tasks.static_quality_gates.lib.gates_lib import argument_extractor, find_package_path, read_byte_input + + +def calculate_package_size(ctx, package_os, package_path, gate_name, metric_handler): + with tempfile.TemporaryDirectory() as extract_dir: + extract_package(ctx=ctx, package_os=package_os, package_path=package_path, extract_dir=extract_dir) + package_on_wire_size = file_size(path=package_path) + package_on_disk_size = directory_size(ctx, path=extract_dir) + + metric_handler.register_metric(gate_name, "current_on_wire_size", package_on_wire_size) + metric_handler.register_metric(gate_name, "current_on_disk_size", package_on_disk_size) + return package_on_wire_size, package_on_disk_size + + +def check_package_size(package_on_wire_size, package_on_disk_size, max_on_wire_size, max_on_disk_size): + error_message = "" + if package_on_wire_size > max_on_wire_size: + err_msg = f"Package size on wire (compressed package size) {package_on_wire_size} is higher than the maximum allowed {max_on_wire_size} by the gate !\n" + print(color_message(err_msg, "red")) + error_message += err_msg + else: + print( + color_message( + f"package_on_wire_size <= max_on_wire_size, ({package_on_wire_size}) <= ({max_on_wire_size})", + "green", + ) + ) + if package_on_disk_size > max_on_disk_size: + err_msg = f"Package size on disk (uncompressed package size) {package_on_disk_size} is higher than the maximum allowed {max_on_disk_size} by the gate !\n" + print(color_message(err_msg, "red")) + error_message += err_msg + else: + print( + color_message( + f"package_on_disk_size <= max_on_disk_size, ({package_on_disk_size}) <= ({max_on_disk_size})", + "green", + ) + ) + if error_message != "": + raise AssertionError(error_message) + + +def generic_package_agent_quality_gate(gate_name, arch, os, flavor, **kwargs): + arguments = argument_extractor( + kwargs, max_on_wire_size=read_byte_input, max_on_disk_size=read_byte_input, ctx=None, metricHandler=None + ) + ctx = arguments.ctx + metric_handler = arguments.metricHandler + max_on_wire_size = arguments.max_on_wire_size + max_on_disk_size = arguments.max_on_disk_size + + metric_handler.register_gate_tags(gate_name, gate_name=gate_name, arch=arch, os=os) + + metric_handler.register_metric(gate_name, "max_on_wire_size", max_on_wire_size) + metric_handler.register_metric(gate_name, "max_on_disk_size", max_on_disk_size) + package_arm = arch + if os == "centos" or os == "suse": + if arch == "arm64": + package_arm = "aarch64" + elif arch == "amd64": + package_arm = "x86_64" + + package_path = find_package_path(flavor, os, package_arm) + + package_on_wire_size, package_on_disk_size = calculate_package_size( + ctx, os, package_path, gate_name, metric_handler + ) + check_package_size(package_on_wire_size, package_on_disk_size, max_on_wire_size, max_on_disk_size) diff --git a/tasks/static_quality_gates/static_quality_gate_agent_deb_amd64.py b/tasks/static_quality_gates/static_quality_gate_agent_deb_amd64.py index f3e5614e7e897..67b83483b8410 100644 --- a/tasks/static_quality_gates/static_quality_gate_agent_deb_amd64.py +++ b/tasks/static_quality_gates/static_quality_gate_agent_deb_amd64.py @@ -1,63 +1,7 @@ -import tempfile - -from tasks.libs.common.color import color_message -from tasks.libs.package.size import directory_size, extract_package, file_size -from tasks.static_quality_gates.lib.gates_lib import argument_extractor, find_package_path, read_byte_input +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate def entrypoint(**kwargs): - arguments = argument_extractor( - kwargs, max_on_wire_size=read_byte_input, max_on_disk_size=read_byte_input, ctx=None, metricHandler=None - ) - ctx = arguments.ctx - metric_handler = arguments.metricHandler - max_on_wire_size = arguments.max_on_wire_size - max_on_disk_size = arguments.max_on_disk_size - - metric_handler.register_gate_tags( - "static_quality_gate_agent_deb_amd64", gate_name="static_quality_gate_agent_deb_amd64", arch="x64", os="debian" + generic_package_agent_quality_gate( + "static_quality_gate_agent_deb_amd64", "amd64", "debian", "datadog-agent", **kwargs ) - - metric_handler.register_metric("static_quality_gate_agent_deb_amd64", "max_on_wire_size", max_on_wire_size) - metric_handler.register_metric("static_quality_gate_agent_deb_amd64", "max_on_disk_size", max_on_disk_size) - - package_os = "debian" - package_path = find_package_path("datadog-agent", package_os, "amd64") - - with tempfile.TemporaryDirectory() as extract_dir: - extract_package(ctx=ctx, package_os=package_os, package_path=package_path, extract_dir=extract_dir) - package_on_wire_size = file_size(path=package_path) - package_on_disk_size = directory_size(ctx, path=extract_dir) - - metric_handler.register_metric( - "static_quality_gate_agent_deb_amd64", "current_on_wire_size", package_on_wire_size - ) - metric_handler.register_metric( - "static_quality_gate_agent_deb_amd64", "current_on_disk_size", package_on_disk_size - ) - - error_message = "" - if package_on_wire_size > max_on_wire_size: - err_msg = f"Package size on wire (compressed package size) {package_on_wire_size} is higher than the maximum allowed {max_on_wire_size} by the gate !\n" - print(color_message(err_msg, "red")) - error_message += err_msg - else: - print( - color_message( - f"package_on_wire_size <= max_on_wire_size, ({package_on_wire_size}) <= ({max_on_wire_size})", - "green", - ) - ) - if package_on_disk_size > max_on_disk_size: - err_msg = f"Package size on disk (uncompressed package size) {package_on_disk_size} is higher than the maximum allowed {max_on_disk_size} by the gate !\n" - print(color_message(err_msg, "red")) - error_message += err_msg - else: - print( - color_message( - f"package_on_disk_size <= max_on_disk_size, ({package_on_disk_size}) <= ({max_on_disk_size})", - "green", - ) - ) - if error_message != "": - raise AssertionError(error_message) diff --git a/tasks/static_quality_gates/static_quality_gate_agent_deb_arm64.py b/tasks/static_quality_gates/static_quality_gate_agent_deb_arm64.py new file mode 100644 index 0000000000000..3ab769cf3a418 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_agent_deb_arm64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_agent_deb_arm64", "arm64", "debian", "datadog-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_agent_rpm_amd64.py b/tasks/static_quality_gates/static_quality_gate_agent_rpm_amd64.py new file mode 100644 index 0000000000000..1da885fa7f589 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_agent_rpm_amd64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_agent_rpm_amd64", "amd64", "centos", "datadog-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_agent_rpm_arm64.py b/tasks/static_quality_gates/static_quality_gate_agent_rpm_arm64.py new file mode 100644 index 0000000000000..62238ee997c8e --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_agent_rpm_arm64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_agent_rpm_arm64", "arm64", "centos", "datadog-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_agent_suse_amd64.py b/tasks/static_quality_gates/static_quality_gate_agent_suse_amd64.py new file mode 100644 index 0000000000000..8956df0078b48 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_agent_suse_amd64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_agent_suse_amd64", "amd64", "suse", "datadog-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_agent_suse_arm64.py b/tasks/static_quality_gates/static_quality_gate_agent_suse_arm64.py new file mode 100644 index 0000000000000..63984cb776681 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_agent_suse_arm64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_agent_suse_arm64", "arm64", "suse", "datadog-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_dogstatsd_deb_amd64.py b/tasks/static_quality_gates/static_quality_gate_dogstatsd_deb_amd64.py new file mode 100644 index 0000000000000..900ad7b2425e0 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_dogstatsd_deb_amd64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_dogstatsd_deb_amd64", "amd64", "debian", "datadog-dogstatsd", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_dogstatsd_deb_arm64.py b/tasks/static_quality_gates/static_quality_gate_dogstatsd_deb_arm64.py new file mode 100644 index 0000000000000..a6474c3985cbe --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_dogstatsd_deb_arm64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_dogstatsd_deb_arm64", "arm64", "debian", "datadog-dogstatsd", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_dogstatsd_rpm_amd64.py b/tasks/static_quality_gates/static_quality_gate_dogstatsd_rpm_amd64.py new file mode 100644 index 0000000000000..bfd72b86ba095 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_dogstatsd_rpm_amd64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_dogstatsd_rpm_amd64", "amd64", "centos", "datadog-dogstatsd", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_dogstatsd_suse_amd64.py b/tasks/static_quality_gates/static_quality_gate_dogstatsd_suse_amd64.py new file mode 100644 index 0000000000000..eb402593bbaa6 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_dogstatsd_suse_amd64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_dogstatsd_suse_amd64", "amd64", "suse", "datadog-dogstatsd", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_iot_agent_deb_amd64.py b/tasks/static_quality_gates/static_quality_gate_iot_agent_deb_amd64.py new file mode 100644 index 0000000000000..aeff95f3cb89a --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_iot_agent_deb_amd64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_iot_agent_deb_amd64", "amd64", "debian", "datadog-iot-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_iot_agent_deb_arm64.py b/tasks/static_quality_gates/static_quality_gate_iot_agent_deb_arm64.py new file mode 100644 index 0000000000000..be45967dba941 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_iot_agent_deb_arm64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_iot_agent_deb_arm64", "arm64", "debian", "datadog-iot-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_iot_agent_rpm_amd64.py b/tasks/static_quality_gates/static_quality_gate_iot_agent_rpm_amd64.py new file mode 100644 index 0000000000000..5542088a86b47 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_iot_agent_rpm_amd64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_iot_agent_rpm_amd64", "amd64", "centos", "datadog-iot-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_iot_agent_rpm_arm64.py b/tasks/static_quality_gates/static_quality_gate_iot_agent_rpm_arm64.py new file mode 100644 index 0000000000000..b19718b3fcfd6 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_iot_agent_rpm_arm64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_iot_agent_rpm_arm64", "arm64", "centos", "datadog-iot-agent", **kwargs + ) diff --git a/tasks/static_quality_gates/static_quality_gate_iot_agent_suse_amd64.py b/tasks/static_quality_gates/static_quality_gate_iot_agent_suse_amd64.py new file mode 100644 index 0000000000000..f454ed17fbd41 --- /dev/null +++ b/tasks/static_quality_gates/static_quality_gate_iot_agent_suse_amd64.py @@ -0,0 +1,7 @@ +from tasks.static_quality_gates.lib.package_agent_lib import generic_package_agent_quality_gate + + +def entrypoint(**kwargs): + generic_package_agent_quality_gate( + "static_quality_gate_iot_agent_suse_amd64", "amd64", "suse", "datadog-iot-agent", **kwargs + ) diff --git a/tasks/unit_tests/quality_gates_tests.py b/tasks/unit_tests/quality_gates_tests.py index 1cce97b7b8324..c047f1b29cc7d 100644 --- a/tasks/unit_tests/quality_gates_tests.py +++ b/tasks/unit_tests/quality_gates_tests.py @@ -38,7 +38,7 @@ def test_no_error(self, pr_commenter_mock): pr_commenter_mock.assert_called_with( ANY, title='Static quality checks ✅', - body='Please find below the results from static quality gates\n\n\n### Info\n\n|Result|Quality gate|On disk size|On disk size limit|On wire size|On wire size limit|\n|----|----|----|----|----|----|\n|✅|gateA|10MiB|10MiB|10MiB|10MiB|\n|✅|gateB|10MiB|10MiB|10MiB|10MiB|\n', + body='Please find below the results from static quality gates\n\n\n
\nSuccessful checks\n\n### Info\n\n|Result|Quality gate|On disk size|On disk size limit|On wire size|On wire size limit|\n|----|----|----|----|----|----|\n|✅|gateA|10MiB|10MiB|10MiB|10MiB|\n|✅|gateB|10MiB|10MiB|10MiB|10MiB|\n\n
\n', ) @patch.dict( @@ -100,7 +100,7 @@ def test_one_of_each(self, pr_commenter_mock): pr_commenter_mock.assert_called_with( ANY, title='Static quality checks ❌', - body='Please find below the results from static quality gates\n### Error\n\n|Result|Quality gate|On disk size|On disk size limit|On wire size|On wire size limit|\n|----|----|----|----|----|----|\n|❌|gateA|10MiB|10MiB|10MiB|10MiB|\n
\nGate failure full details\n\n|Quality gate|Error type|Error message|\n|----|---|--------|\n|gateA|AssertionError|some_msg_A|\n\n
\n\n\n### Info\n\n|Result|Quality gate|On disk size|On disk size limit|On wire size|On wire size limit|\n|----|----|----|----|----|----|\n|✅|gateB|10MiB|10MiB|10MiB|10MiB|\n', + body='Please find below the results from static quality gates\n### Error\n\n|Result|Quality gate|On disk size|On disk size limit|On wire size|On wire size limit|\n|----|----|----|----|----|----|\n|❌|gateA|10MiB|10MiB|10MiB|10MiB|\n
\nGate failure full details\n\n|Quality gate|Error type|Error message|\n|----|---|--------|\n|gateA|AssertionError|some_msg_A|\n\n
\n\n\n
\nSuccessful checks\n\n### Info\n\n|Result|Quality gate|On disk size|On disk size limit|On wire size|On wire size limit|\n|----|----|----|----|----|----|\n|✅|gateB|10MiB|10MiB|10MiB|10MiB|\n\n
\n', ) @patch.dict( diff --git a/test/static/static_quality_gates.yml b/test/static/static_quality_gates.yml index ebd419af4a915..58b05003a13ae 100644 --- a/test/static/static_quality_gates.yml +++ b/test/static/static_quality_gates.yml @@ -1,7 +1,65 @@ +# Package gates static_quality_gate_agent_deb_amd64: max_on_wire_size: "214.3 MiB" max_on_disk_size: "858.45 MiB" +static_quality_gate_agent_deb_arm64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_agent_rpm_amd64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_agent_rpm_arm64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_agent_suse_amd64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_agent_suse_arm64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_dogstatsd_deb_amd64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_dogstatsd_deb_arm64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_dogstatsd_rpm_amd64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_dogstatsd_suse_amd64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_iot_agent_deb_amd64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_iot_agent_deb_arm64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_iot_agent_rpm_amd64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_iot_agent_rpm_arm64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +static_quality_gate_iot_agent_suse_amd64: + max_on_wire_size: "214.3 MiB" + max_on_disk_size: "858.45 MiB" + +# Docker images gate static_quality_gate_docker_agent_amd64: max_on_wire_size: "321.56 MiB" max_on_disk_size: "942.69 MiB"