|
1 | 1 | import argparse |
2 | 2 | import xml.etree.ElementTree as ET |
| 3 | +import requests |
| 4 | + |
| 5 | +latest_release_url = "https://api.github.com/repos/linode/linode-cli/releases/latest" |
| 6 | + |
| 7 | + |
| 8 | +def get_release_version(): |
| 9 | + url = latest_release_url |
| 10 | + |
| 11 | + try: |
| 12 | + response = requests.get(url) |
| 13 | + response.raise_for_status() # Check for HTTP errors |
| 14 | + |
| 15 | + release_info = response.json() |
| 16 | + version = release_info["tag_name"] |
| 17 | + |
| 18 | + # Remove 'v' prefix if it exists |
| 19 | + if version.startswith("v"): |
| 20 | + version = version[1:] |
| 21 | + |
| 22 | + return str(version) |
| 23 | + |
| 24 | + except requests.exceptions.RequestException as e: |
| 25 | + print("Error:", e) |
| 26 | + except KeyError: |
| 27 | + print("Error: Unable to fetch release information from GitHub API.") |
| 28 | + |
3 | 29 |
|
4 | 30 | # Parse command-line arguments |
5 | 31 | parser = argparse.ArgumentParser(description='Modify XML with workflow information') |
6 | 32 | parser.add_argument('--branch_name', required=True) |
7 | 33 | parser.add_argument('--gha_run_id', required=True) |
8 | 34 | parser.add_argument('--gha_run_number', required=True) |
| 35 | +parser.add_argument('--release_tag', required=False) |
9 | 36 | parser.add_argument('--xmlfile', required=True) # Added argument for XML file path |
10 | 37 |
|
11 | 38 | args = parser.parse_args() |
|
25 | 52 | gha_run_number_element = ET.Element('gha_run_number') |
26 | 53 | gha_run_number_element.text = args.gha_run_number |
27 | 54 |
|
| 55 | +gha_release_tag_element = ET.Element('release_tag') |
| 56 | +gha_release_tag_element.text = get_release_version() |
| 57 | + |
28 | 58 | # Add the new elements to the root of the XML |
29 | 59 | root.append(branch_name_element) |
30 | 60 | root.append(gha_run_id_element) |
31 | 61 | root.append(gha_run_number_element) |
| 62 | +root.append(gha_release_tag_element) |
32 | 63 |
|
33 | 64 | # Save the modified XML |
34 | 65 | modified_xml_file_path = xml_file_path # Overwrite it |
|
0 commit comments