Skip to content

Commit 65e20bb

Browse files
committed
Update tracking_services_data.py schema and generation to 2-0-0, reorganise tests
1 parent e63e800 commit 65e20bb

4 files changed

Lines changed: 22 additions & 16 deletions

File tree

scripts/release_provenance/tracking_services_data.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from pathlib import Path
99
from typing import Any
1010

11-
TRACKING_SERVICES_JSON_SCHEMA_VERSION = "1-0-0"
11+
TRACKING_SERVICES_JSON_SCHEMA_VERSION = "2-0-0"
1212
TRACKING_SERVICES_JSON_SCHEMA_URL = f"https://raw.githubusercontent.com/ACCESS-NRI/schema/main/au.org.access-nri/tracking_services/release_provenance/telemetry/{TRACKING_SERVICES_JSON_SCHEMA_VERSION}.json"
1313

1414

@@ -121,8 +121,10 @@ def _format_telemetry_of_deployment_target(
121121
"deployment_target.spack_git_hash": outputs["spack_git_hash"],
122122
"deployment_target.spack_config_version": outputs["spack_config_version"],
123123
"deployment_target.spack_config_git_hash": outputs["spack_config_git_hash"],
124-
"deployment_target.spack_packages_version": outputs["spack_packages_version"],
125-
"deployment_target.spack_packages_git_hash": outputs["spack_packages_git_hash"],
124+
"deployment_target.builtin_spack_packages_version": outputs["builtin_spack_packages_version"],
125+
"deployment_target.builtin_spack_packages_git_hash": outputs["builtin_spack_packages_git_hash"],
126+
"deployment_target.access_spack_packages_version": outputs["access_spack_packages_version"],
127+
"deployment_target.access_spack_packages_git_hash": outputs["access_spack_packages_git_hash"],
126128
"deployment_target.module_use_location": outputs["deployment_modules_location"],
127129

128130
"spack_model.name": root_spec,

tests/scripts/release_provenance/inputs/1-0-0/deploy-access-om3-outputs.Gadi/deploy-access-om3-outputs.Gadi renamed to tests/scripts/release_provenance/inputs/deploy-access-om3-outputs.Gadi/deploy-access-om3-outputs.Gadi

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
"spack_git_hash": "qwerty",
66
"spack_config_version": "2025.02.2",
77
"spack_config_git_hash": "asdfg",
8-
"spack_packages_version": "2025.03.002",
9-
"spack_packages_git_hash": "zxcvb",
8+
"builtin_spack_packages_version": "2025.03.002",
9+
"builtin_spack_packages_git_hash": "zxcvb",
10+
"access_spack_packages_version": "2025.10.000",
11+
"access_spack_packages_git_hash": "asdfg",
1012
"ci_configuration_check_failure": false,
1113
"release_deployment_version": "2025.01.2",
1214
"spack_environment_name": "access-esm1p6-dev_2025_03_4",

tests/scripts/release_provenance/inputs/1-0-0/deploy-access-test-metadata.Gadi/Gadi.build-db-pkgs.json renamed to tests/scripts/release_provenance/inputs/deploy-access-test-metadata.Gadi/Gadi.build-db-pkgs.json

File renamed without changes.

tests/scripts/release_provenance/test_tracking_services_data.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def test__format_tracking_services_header__valid(self):
118118
class TestFormatTelemetryOfModel():
119119

120120
@patch("scripts.release_provenance.tracking_services_data._get_release_data_of_model_or_raise")
121-
def test__format_telemetry_of_model_1_0_0__valid(self, release_data_mock):
121+
def test__format_telemetry_of_model__valid(self, release_data_mock):
122122
expected_telemetry = {
123123
"model.name": "ACCESS-OM3",
124124
"model.deployment_repository_url": "https://github.com/ACCESS-NRI/ACCESS-OM3",
@@ -135,48 +135,50 @@ def test__format_telemetry_of_model_1_0_0__valid(self, release_data_mock):
135135
"html_url": "https://github.com/ACCESS-NRI/ACCESS-OM3/releases/tag/2025.01.2",
136136
}
137137

138-
actual_telemetry = _format_telemetry_of_model("ACCESS-NRI/ACCESS-OM3", Path("tests/scripts/release_provenance/inputs/1-0-0/deploy-access-om3-outputs.Gadi"))
138+
actual_telemetry = _format_telemetry_of_model("ACCESS-NRI/ACCESS-OM3", Path("tests/scripts/release_provenance/inputs/deploy-access-om3-outputs.Gadi"))
139139

140140
assert actual_telemetry == expected_telemetry, f"Expected {expected_telemetry}, but got {actual_telemetry}"
141141

142142
@patch("scripts.release_provenance.tracking_services_data.requests.get", autospec=True)
143-
def test__format_telemetry_of_model_1_0_0__invalid_repo(self, requests_mock):
143+
def test__format_telemetry_of_model__invalid_repo(self, requests_mock):
144144

145145
# Mock the response of the requests.get call to simulate an invalid repository
146146
requests_mock.return_value = Mock(status_code=404)
147147

148148
with pytest.raises(ValueError):
149-
_format_telemetry_of_model("invalid-repo", Path("tests/scripts/release_provenance/inputs/1-0-0/deploy-access-om3-outputs.Gadi"))
149+
_format_telemetry_of_model("invalid-repo", Path("tests/scripts/release_provenance/inputs/deploy-access-om3-outputs.Gadi"))
150150

151-
def test__format_telemetry_of_model_1_0_0__invalid_file(self):
151+
def test__format_telemetry_of_model_invalid_file(self):
152152
with pytest.raises(FileNotFoundError):
153153
_format_telemetry_of_model("ACCESS-NRI/ACCESS-OM3", Path("invalid-file-path"))
154154

155155
class TestFormatTelemetryOfDeploymentTarget():
156-
def test__format_telemetry_of_deployment_target_1_0_0__valid_with_no_components(self):
156+
def test__format_telemetry_of_deployment_target___valid_with_no_components(self):
157157
# Removing the components from the expected telemetry as that is tested in TestFormatTelemetryOfModelComponents
158158
expected_telemetry_without_components = {
159159
"deployment_target.name": "Gadi",
160160
"deployment_target.spack_version": "0.22",
161161
"deployment_target.spack_git_hash": "qwerty",
162162
"deployment_target.spack_config_version": "2025.02.2",
163163
"deployment_target.spack_config_git_hash": "asdfg",
164-
"deployment_target.spack_packages_version": "2025.03.002",
165-
"deployment_target.spack_packages_git_hash": "zxcvb",
164+
"deployment_target.builtin_spack_packages_version": "2025.03.002",
165+
"deployment_target.builtin_spack_packages_git_hash": "zxcvb",
166+
"deployment_target.access_spack_packages_version": "2025.10.000",
167+
"deployment_target.access_spack_packages_git_hash": "asdfg",
166168
"deployment_target.module_use_location": "/g/data/vk83/modules",
167169

168170
"spack_model.name": "access-om3",
169171
"spack_model.spack_package_hash": "3jdoekn73de234jdh38dzojhdjfriksndpqj84903",
170172
"spack_model.module_load_command": "access-om3/2025.01.2",
171173
}
172174

173-
actual_telemetry = _format_telemetry_of_deployment_target("access-om3", "Gadi", Path("tests/scripts/release_provenance/inputs/1-0-0/deploy-access-om3-outputs.Gadi"), Path("tests/scripts/release_provenance/inputs/1-0-0/deploy-access-test-metadata.Gadi"))
175+
actual_telemetry = _format_telemetry_of_deployment_target("access-om3", "Gadi", Path("tests/scripts/release_provenance/inputs/deploy-access-om3-outputs.Gadi"), Path("tests/scripts/release_provenance/inputs/deploy-access-test-metadata.Gadi"))
174176
actual_telemetry_without_components = {k: v for k, v in actual_telemetry.items() if k not in ["spack_model_components"]}
175177

176178
assert actual_telemetry_without_components == expected_telemetry_without_components, f"Without components, expected {expected_telemetry_without_components}, but got {actual_telemetry_without_components}"
177179

178180
class TestFormatTelemetryOfModelComponents():
179-
def test__format_telemetry_of_model_components_1_0_0__valid(self):
181+
def test__format_telemetry_of_model_components__valid(self):
180182
expected_telemetry = [
181183
{
182184
"name": "access-test-component",
@@ -187,7 +189,7 @@ def test__format_telemetry_of_model_components_1_0_0__valid(self):
187189
},
188190
]
189191

190-
actual_telemetry = _format_telemetry_of_model_components("Gadi", Path("tests/scripts/release_provenance/inputs/1-0-0/deploy-access-test-metadata.Gadi"))
192+
actual_telemetry = _format_telemetry_of_model_components("Gadi", Path("tests/scripts/release_provenance/inputs/deploy-access-test-metadata.Gadi"))
191193

192194
assert actual_telemetry == expected_telemetry, f"Expected {expected_telemetry}, but got {actual_telemetry}"
193195

0 commit comments

Comments
 (0)