From bb608691d729ac578e9cb64add9ad9c64b0464fe Mon Sep 17 00:00:00 2001 From: Jamie <2119834+jamieQ@users.noreply.github.com> Date: Fri, 31 Jul 2026 17:04:41 -0500 Subject: [PATCH] feat(preprod): Add install groups to EAP items --- src/sentry/preprod/eap/write.py | 2 ++ tests/sentry/preprod/eap/test_write.py | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/sentry/preprod/eap/write.py b/src/sentry/preprod/eap/write.py index 9289672cfff0..dc61fedb940b 100644 --- a/src/sentry/preprod/eap/write.py +++ b/src/sentry/preprod/eap/write.py @@ -106,6 +106,7 @@ def produce_preprod_size_metric_to_eap( "build_configuration_name": ( artifact.build_configuration.name if artifact.build_configuration else None ), + "install_groups": artifact.extras.get("install_groups") if artifact.extras else None, } if artifact.commit_comparison is not None: @@ -199,6 +200,7 @@ def produce_preprod_build_distribution_to_eap( "build_configuration_name": ( artifact.build_configuration.name if artifact.build_configuration else None ), + "install_groups": artifact.extras.get("install_groups") if artifact.extras else None, } if artifact.extras: diff --git a/tests/sentry/preprod/eap/test_write.py b/tests/sentry/preprod/eap/test_write.py index de4c75db3dbc..48f3214b48e4 100644 --- a/tests/sentry/preprod/eap/test_write.py +++ b/tests/sentry/preprod/eap/test_write.py @@ -47,6 +47,7 @@ def test_write_preprod_size_metric_encodes_all_fields_correctly(self, mock_produ commit_comparison=commit_comparison, build_configuration=build_config, date_built=datetime(2024, 1, 1, 10, 0, 0, tzinfo=dt_timezone.utc), + extras={"install_groups": ["alpha", "beta"]}, ) self.create_preprod_artifact_mobile_app_info( preprod_artifact=artifact, @@ -115,6 +116,10 @@ def test_write_preprod_size_metric_encodes_all_fields_correctly(self, mock_produ assert attrs["artifact_date_built"].int_value == int(artifact.date_built.timestamp()) assert attrs["build_configuration_name"].string_value == "Release" + assert [value.string_value for value in attrs["install_groups"].array_value.values] == [ + "alpha", + "beta", + ] assert attrs["git_head_sha"].string_value == "abc123" assert attrs["git_base_sha"].string_value == "def456" @@ -160,6 +165,7 @@ def test_write_preprod_size_metric_handles_optional_fields(self, mock_produce): assert "min_install_size" not in attrs assert "max_install_size" not in attrs assert "build_configuration_name" not in attrs + assert "install_groups" not in attrs assert "git_head_sha" not in attrs @@ -201,6 +207,7 @@ def test_write_preprod_build_distribution_encodes_all_fields_correctly(self, moc "is_simulator": False, "has_missing_dsym_binaries": True, "has_proguard_mapping": False, + "install_groups": ["alpha", "beta"], }, ) self.create_preprod_artifact_mobile_app_info( @@ -256,6 +263,10 @@ def test_write_preprod_build_distribution_encodes_all_fields_correctly(self, moc assert artifact.date_built is not None assert attrs["artifact_date_built"].int_value == int(artifact.date_built.timestamp()) assert attrs["build_configuration_name"].string_value == "Release" + assert [value.string_value for value in attrs["install_groups"].array_value.values] == [ + "alpha", + "beta", + ] assert attrs["codesigning_type"].string_value == "AdHoc" assert attrs["profile_name"].string_value == "Development Profile" @@ -309,5 +320,6 @@ def test_write_preprod_build_distribution_handles_optional_fields(self, mock_pro assert "codesigning_type" not in attrs assert "profile_name" not in attrs + assert "install_groups" not in attrs assert "build_configuration_name" not in attrs assert "git_head_sha" not in attrs