From 5608e2a402f6e250d4fa5a12b3895652c3333bb5 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com> Date: Thu, 18 Dec 2025 18:58:45 -0600 Subject: [PATCH] Update version_branch.yml --- .github/workflows/version_branch.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/version_branch.yml b/.github/workflows/version_branch.yml index 9b68824..a76789b 100644 --- a/.github/workflows/version_branch.yml +++ b/.github/workflows/version_branch.yml @@ -352,6 +352,8 @@ jobs: header_re = re.compile(r'(?im)(VERSION[ ]*:[ ]*)([0-9]{2}[.][0-9]{2}[.][0-9]{2})') manifest_marker_re = re.compile(r'(?is) root + updates_marker_re = re.compile(r'(?is))([^<]*?)()') xml_date_res = [ re.compile(r'(?is)()([^<]*?)()'), @@ -399,6 +401,7 @@ jobs: counters['header_replacements'] += n1 if p.suffix.lower() == '.xml': + # Joomla manifest files if manifest_marker_re.search(text): text2, n2 = xml_version_re.subn(lambda m: m.group(1) + new_version + m.group(3), text) text = text2 @@ -414,7 +417,23 @@ jobs: if text != original: updated_manifests.append(str(p)) else: - counters['xml_skipped_non_manifest'] += 1 + # Special case: update server feeds (updates.xml, update.xml, or any XML containing /) + if p.name.lower() in {'updates.xml', 'update.xml'} or updates_marker_re.search(text): + text2, n2 = xml_version_re.subn(lambda m: m.group(1) + new_version + m.group(3), text) + text = text2 + if n2: + counters['xml_version_replacements'] += n2 + + for rx in xml_date_res: + text3, n3 = rx.subn(lambda m: m.group(1) + stamp + m.group(3), text) + text = text3 + if n3: + counters['xml_date_replacements'] += n3 + + if text != original: + updated_manifests.append(str(p)) + else: + counters['xml_skipped_non_manifest'] += 1 if text != original: p.write_text(text, encoding='utf-8')