Update build_updatexml.yml

This commit is contained in:
2025-12-16 20:08:57 -06:00
parent 5dc69af8f0
commit d86a75240a

View File

@@ -109,42 +109,40 @@ jobs:
set -euo pipefail set -euo pipefail
python3 - <<'PY' python3 - <<'PY'
import os import os
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
from pathlib import Path from pathlib import Path
template_path = Path(os.environ["TEMPLATE_PATH"]) template_path = Path(os.environ["TEMPLATE_PATH"])
out_path = Path(os.environ["OUTPUT_PATH"]) out_path = Path(os.environ["OUTPUT_PATH"])
download_url = os.environ.get("DOWNLOAD_URL", "").strip() download_url = os.environ.get("DOWNLOAD_URL", "").strip()
sha256 = os.environ.get("SHA256", "").strip() sha256 = os.environ.get("SHA256", "").strip()
if not template_path.is_file(): if not template_path.is_file():
raise SystemExit(f"Template not found: {template_path}") raise SystemExit(f"Template not found: {template_path}")
if not download_url: if not download_url:
raise SystemExit("Missing DOWNLOAD_URL") raise SystemExit("Missing DOWNLOAD_URL")
if not sha256: if not sha256:
raise SystemExit("Missing SHA256") raise SystemExit("Missing SHA256")
# Parse from file (handles XML declaration and avoids brittle string matching). tree = ET.parse(template_path)
tree = ET.parse(template_path) root = tree.getroot()
root = tree.getroot()
# Locate elements by tag name, regardless of exact nesting. downloadurl_el = root.find(".//downloadurl")
downloadurl_el = root.find(".//downloadurl") sha256_el = root.find(".//sha256")
sha256_el = root.find(".//sha256")
if downloadurl_el is None: if downloadurl_el is None:
raise SystemExit("Template missing <downloadurl> element") raise SystemExit("Template missing <downloadurl> element")
if sha256_el is None: if sha256_el is None:
raise SystemExit("Template missing <sha256> element") raise SystemExit("Template missing <sha256> element")
downloadurl_el.text = download_url downloadurl_el.text = download_url
sha256_el.text = sha256 sha256_el.text = sha256
out_path.parent.mkdir(parents=True, exist_ok=True) out_path.parent.mkdir(parents=True, exist_ok=True)
tree.write(out_path, encoding="utf-8", xml_declaration=True) tree.write(out_path, encoding="utf-8", xml_declaration=True)
print(f"Wrote: {out_path}") print(f"Wrote: {out_path}")
PY PY
- name: Upload updates.xml artifact - name: Upload updates.xml artifact