Fix updates.xml + release workflow Python heredoc bug
Some checks failed
Repo Health / Access control (push) Failing after 1s
Repo Health / Release configuration (push) Has been skipped
Repo Health / Scripts governance (push) Has been skipped
Repo Health / Repository health (push) Has been skipped

- Restore updates.xml from broken ${VAR} placeholders to actual values
- Dev/alpha/beta: Gitea-only download URLs (no GitHub)
- RC/stable: both Gitea + GitHub download URLs
- Fix Python heredoc: use os.environ instead of shell var expansion
- Workflow now removes GitHub URLs for non-RC/stable channels

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan Miller
2026-04-17 05:15:35 -05:00
parent 41c34f4e03
commit 85e2b804aa
2 changed files with 31 additions and 23 deletions

View File

@@ -286,17 +286,20 @@ jobs:
exit 0 exit 0
fi fi
export PY_STABILITY="$STABILITY" PY_VERSION="$VERSION" PY_SHA256="$SHA256" \
PY_ZIP_NAME="$ZIP_NAME" PY_TAG="$TAG" PY_DATE="$DATE" \
PY_GITEA_ORG="$GITEA_ORG" PY_GITEA_REPO="$GITEA_REPO"
python3 << 'PYEOF' python3 << 'PYEOF'
import re import re, os
stability = "${STABILITY}" stability = os.environ["PY_STABILITY"]
version = "${VERSION}" version = os.environ["PY_VERSION"]
sha256 = "${SHA256}" sha256 = os.environ["PY_SHA256"]
zip_name = "${ZIP_NAME}" zip_name = os.environ["PY_ZIP_NAME"]
tag = "${TAG}" tag = os.environ["PY_TAG"]
date = "${DATE}" date = os.environ["PY_DATE"]
gitea_org = "${GITEA_ORG}" gitea_org = os.environ["PY_GITEA_ORG"]
gitea_repo = "${GITEA_REPO}" gitea_repo = os.environ["PY_GITEA_REPO"]
# Map stability to the <tag> value in updates.xml # Map stability to the <tag> value in updates.xml
tag_map = { tag_map = {
@@ -340,13 +343,21 @@ jobs:
block block
) )
# Update GitHub download URL (if present) # Update GitHub download URL only for RC and stable (others are Gitea-only)
gh_url = f"https://github.com/mokoconsulting-tech/{gitea_repo}/releases/download/{tag}/{zip_name}" if stability in ("rc", "stable"):
block = re.sub( gh_url = f"https://github.com/mokoconsulting-tech/{gitea_repo}/releases/download/{tag}/{zip_name}"
r"(<downloadurl[^>]*>)https://github\.com/[^<]*(</downloadurl>)", block = re.sub(
rf"\g<1>{gh_url}\g<2>", r"(<downloadurl[^>]*>)https://github\.com/[^<]*(</downloadurl>)",
block rf"\g<1>{gh_url}\g<2>",
) block
)
else:
# Remove any GitHub download URL for dev/alpha/beta
block = re.sub(
r"\n\s*<downloadurl[^>]*>https://github\.com/[^<]*</downloadurl>",
"",
block
)
content = content.replace(original_block, block) content = content.replace(original_block, block)

View File

@@ -13,14 +13,13 @@
<element>mokocassiopeia</element> <element>mokocassiopeia</element>
<type>template</type> <type>template</type>
<client>site</client> <client>site</client>
<version>${VERSION}</version> <version>03.09.16</version>
<creationDate>${DATE}</creationDate> <creationDate>2026-04-17</creationDate>
<infourl title='MokoCassiopeia Dev'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/tag/development</infourl> <infourl title='MokoCassiopeia Dev'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/tag/development</infourl>
<downloads> <downloads>
<downloadurl type='full' format='zip'>https://git.mokoconsulting.tech/${GITEA_ORG}/${GITEA_REPO}/releases/download/${TAG}/${ZIP_NAME}</downloadurl> <downloadurl type='full' format='zip'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/download/development/mokocassiopeia-03.09.16-dev.zip</downloadurl>
<downloadurl type='full' format='zip'>https://github.com/mokoconsulting-tech/${GITEA_REPO}/releases/download/${TAG}/${ZIP_NAME}</downloadurl>
</downloads> </downloads>
<sha256>sha256:${SHA256}</sha256> <sha256>sha256:2986f08b59617a18d489e0d9e6e49d329ceb8297ae4755b6697f3326c2a41fc4</sha256>
<tags><tag>development</tag></tags> <tags><tag>development</tag></tags>
<maintainer>Moko Consulting</maintainer> <maintainer>Moko Consulting</maintainer>
<maintainerurl>https://mokoconsulting.tech</maintainerurl> <maintainerurl>https://mokoconsulting.tech</maintainerurl>
@@ -40,7 +39,6 @@
<infourl title='MokoCassiopeia Alpha'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/tag/alpha</infourl> <infourl title='MokoCassiopeia Alpha'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/tag/alpha</infourl>
<downloads> <downloads>
<downloadurl type='full' format='zip'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/download/alpha/mokocassiopeia-03.09.16-alpha.zip</downloadurl> <downloadurl type='full' format='zip'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/download/alpha/mokocassiopeia-03.09.16-alpha.zip</downloadurl>
<downloadurl type='full' format='zip'>https://github.com/mokoconsulting-tech/MokoCassiopeia/releases/download/alpha/mokocassiopeia-03.09.16-alpha.zip</downloadurl>
</downloads> </downloads>
<sha256>c2660acdf7389244462485f7ab4c286e9f851366a148acc16739a184576f7932</sha256> <sha256>c2660acdf7389244462485f7ab4c286e9f851366a148acc16739a184576f7932</sha256>
<tags><tag>alpha</tag></tags> <tags><tag>alpha</tag></tags>
@@ -62,7 +60,6 @@
<infourl title='MokoCassiopeia Beta'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/tag/beta</infourl> <infourl title='MokoCassiopeia Beta'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/tag/beta</infourl>
<downloads> <downloads>
<downloadurl type='full' format='zip'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/download/beta/mokocassiopeia-03.09.16-beta.zip</downloadurl> <downloadurl type='full' format='zip'>https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia/releases/download/beta/mokocassiopeia-03.09.16-beta.zip</downloadurl>
<downloadurl type='full' format='zip'>https://github.com/mokoconsulting-tech/MokoCassiopeia/releases/download/beta/mokocassiopeia-03.09.16-beta.zip</downloadurl>
</downloads> </downloads>
<sha256>4cbe4fc379182ef17580396e7d12ce4ce95a90017ef364b922bdc2d04b0b3d97</sha256> <sha256>4cbe4fc379182ef17580396e7d12ce4ce95a90017ef364b922bdc2d04b0b3d97</sha256>
<tags><tag>beta</tag></tags> <tags><tag>beta</tag></tags>