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