@@ -73,87 +73,6 @@ def get_changed_agents(current_mapping: Dict, base_mapping: Dict) -> List[Tuple[
73
73
return list (set (added_agents ))
74
74
75
75
76
- def get_om_version_from_evergreen (om_series : str ) -> Optional [str ]:
77
- """Extract OM version from .evergreen.yml for a given series (60, 70, 80)"""
78
- if not os .path .exists (".evergreen.yml" ):
79
- return None
80
-
81
- try :
82
- with open (".evergreen.yml" , "r" ) as f :
83
- content = f .read ()
84
-
85
- # Extract the OM version using the same pattern as the dev contexts
86
- pattern = rf"^\s*-\s*&ops_manager_{ om_series } _latest\s+(\S+)\s+#"
87
- match = re .search (pattern , content , re .MULTILINE )
88
- if match :
89
- return match .group (1 )
90
-
91
- except Exception as e :
92
- pass
93
-
94
- return None
95
-
96
-
97
- def scan_dev_contexts_for_agents () -> List [Tuple [str , str ]]:
98
- """Scan all dev context files and extract all agents used (both hardcoded and OM-mapped)"""
99
- agents = set ()
100
-
101
- release_data = load_current_release_json ()
102
- if not release_data :
103
- print ("ERROR: Could not load release.json" )
104
- return []
105
-
106
- ops_manager_mapping = extract_ops_manager_mapping (release_data )
107
- ops_manager_versions = ops_manager_mapping .get ("ops_manager" , {})
108
-
109
- # Scan all files in scripts/dev/contexts directory
110
- contexts_dir = "scripts/dev/contexts"
111
- if not os .path .exists (contexts_dir ):
112
- print (f"ERROR: { contexts_dir } not found" )
113
- return []
114
-
115
- for root , dirs , files in os .walk (contexts_dir ):
116
- for file in files :
117
- file_path = os .path .join (root , file )
118
-
119
- try :
120
- with open (file_path , "r" ) as f :
121
- content = f .read ()
122
-
123
- # Extract hardcoded AGENT_VERSION
124
- agent_matches = re .findall (r"export AGENT_VERSION=([^\s]+)" , content )
125
- for agent_version in agent_matches :
126
- tools_version = get_tools_version_for_agent (agent_version )
127
- agents .add ((agent_version , tools_version ))
128
- print (f"Found hardcoded agent in { file } : { agent_version } , { tools_version } " )
129
-
130
- # Extract OM series from grep patterns and resolve to agents
131
- om_patterns = re .findall (r"ops_manager_(\d+)_latest" , content )
132
- for om_series in om_patterns :
133
- om_version = get_om_version_from_evergreen (om_series )
134
- if om_version and om_version in ops_manager_versions :
135
- agent_tools = ops_manager_versions [om_version ]
136
- agent_version = agent_tools .get ("agent_version" )
137
- tools_version = agent_tools .get ("tools_version" )
138
-
139
- if agent_version and tools_version :
140
- agents .add ((agent_version , tools_version ))
141
- print (
142
- f"Found OM-mapped agent in { file } : OM { om_version } -> { agent_version } , { tools_version } "
143
- )
144
-
145
- except Exception as e :
146
- # Skip files that can't be read (binary files, etc.)
147
- continue
148
-
149
- return list (agents )
150
-
151
-
152
- def get_dev_context_agents () -> List [Tuple [str , str ]]:
153
- """Returns list of (agent_version, tools_version) tuples for agents used in dev contexts"""
154
- return scan_dev_contexts_for_agents ()
155
-
156
-
157
76
def get_tools_version_for_agent (agent_version : str ) -> str :
158
77
"""Get tools version for a given agent version from release.json"""
159
78
release_data = load_current_release_json ()
0 commit comments