Skip to content

Commit ddb0b98

Browse files
authored
test: add release info to xml file before uploading to obj storage (#357)
* update script and workflow to include release info * update url * lint
1 parent 8c9fc48 commit ddb0b98

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed

.github/workflows/e2e-test-pr.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,11 @@ jobs:
9191
env:
9292
LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }}
9393

94-
- name: Set release version env
95-
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
96-
9794
- name: Add additional information to XML report
9895
run: |
9996
filename=$(ls | grep -E '^[0-9]{12}_sdk_test_report\.xml$')
10097
python test/script/add_to_xml_test_report.py \
101-
--branch_name "${{ env.RELEASE_VERSION }}" \
98+
--branch_name "${GITHUB_REF#refs/*/}" \
10299
--gha_run_id "$GITHUB_RUN_ID" \
103100
--gha_run_number "$GITHUB_RUN_NUMBER" \
104101
--xmlfile "${filename}"

test/script/add_to_xml_test_report.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,43 @@
11
import argparse
22
import xml.etree.ElementTree as ET
33

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+
433
# Parse command-line arguments
534
parser = argparse.ArgumentParser(
635
description="Modify XML with workflow information"
736
)
837
parser.add_argument("--branch_name", required=True)
938
parser.add_argument("--gha_run_id", required=True)
1039
parser.add_argument("--gha_run_number", required=True)
40+
parser.add_argument("--release_tag", required=False)
1141
parser.add_argument(
1242
"--xmlfile", required=True
1343
) # Added argument for XML file path
@@ -29,10 +59,14 @@
2959
gha_run_number_element = ET.Element("gha_run_number")
3060
gha_run_number_element.text = args.gha_run_number
3161

62+
gha_release_tag_element = ET.Element("release_tag")
63+
gha_release_tag_element.text = get_release_version()
64+
3265
# Add the new elements to the root of the XML
3366
root.append(branch_name_element)
3467
root.append(gha_run_id_element)
3568
root.append(gha_run_number_element)
69+
root.append(gha_release_tag_element)
3670

3771
# Save the modified XML
3872
modified_xml_file_path = xml_file_path # Overwrite it

0 commit comments

Comments
 (0)