diff --git a/.mokogitea/workflows/pre-release.yml b/.mokogitea/workflows/pre-release.yml
index 6f896cb..08c3fd8 100644
--- a/.mokogitea/workflows/pre-release.yml
+++ b/.mokogitea/workflows/pre-release.yml
@@ -146,12 +146,13 @@ jobs:
- name: Create or replace Gitea release
id: release
+ continue-on-error: true
run: |
TAG="${{ steps.meta.outputs.tag }}"
VERSION="${{ steps.meta.outputs.version }}"
STABILITY="${{ steps.meta.outputs.stability }}"
SHA256="${{ steps.zip.outputs.sha256 }}"
- ZIP_NAME="${{ steps.meta.outputs.zip_name }}"
+ ZIP_NAME="${{ steps.zip.outputs.zip_name }}"
EXT_ELEMENT="${{ steps.meta.outputs.ext_element }}"
TOKEN="${{ secrets.GA_TOKEN }}"
API="${GITEA_URL}/api/v1/repos/${GITEA_ORG}/${GITEA_REPO}"
@@ -189,74 +190,22 @@ jobs:
curl -sS -X POST -H "Authorization: token ${TOKEN}" \
-H "Content-Type: application/octet-stream" \
"${API}/releases/${RELEASE_ID}/assets?name=${ZIP_NAME}" \
- --data-binary "@build/${ZIP_NAME}"
+ --data-binary "@${{ steps.zip.outputs.zip_path }}"
echo "Released: ${EXT_ELEMENT} ${VERSION} (${STABILITY})"
- - name: Update updates.xml
+ - name: "Update updates.xml"
if: steps.platform.outputs.platform == 'joomla'
run: |
- STABILITY="${{ steps.meta.outputs.stability }}"
VERSION="${{ steps.meta.outputs.version }}"
+ STABILITY="${{ steps.meta.outputs.stability }}"
SHA256="${{ steps.zip.outputs.sha256 }}"
- ZIP_NAME="${{ steps.meta.outputs.zip_name }}"
- TAG="${{ steps.meta.outputs.tag }}"
- DATE=$(date +%Y-%m-%d)
-
- if [ ! -f "updates.xml" ]; then
- echo "No updates.xml — skipping"
- exit 0
- 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'
- import re, os
-
- stability = os.environ["PY_STABILITY"]
- version = os.environ["PY_VERSION"]
- sha256 = os.environ["PY_SHA256"]
- zip_name = os.environ["PY_ZIP_NAME"]
- tag = os.environ["PY_TAG"]
- date = os.environ["PY_DATE"]
- gitea_org = os.environ["PY_GITEA_ORG"]
- gitea_repo = os.environ["PY_GITEA_REPO"]
- download_url = f"https://git.mokoconsulting.tech/{gitea_org}/{gitea_repo}/releases/download/{tag}/{zip_name}"
-
- with open("updates.xml", "r") as f:
- content = f.read()
-
- # Map stability to XML tag name
- tag_map = {"development": "development", "alpha": "alpha", "beta": "beta", "release-candidate": "rc"}
- xml_tag = tag_map.get(stability, stability)
-
- pattern = r"((?:(?!).)*?" + re.escape(xml_tag) + r".*?)"
- match = re.search(pattern, content, re.DOTALL)
- if match:
- block = match.group(1)
- updated = re.sub(r"[^<]*", f"{version}", block)
- updated = re.sub(r"[^<]*", f"{date}", updated)
- if "" in updated:
- updated = re.sub(r"[^<]*", f"{sha256}", updated)
- else:
- updated = updated.replace("", f"\n {sha256}")
- updated = re.sub(r"(]*>)[^<]*()", rf"\g<1>{download_url}\g<2>", updated)
- content = content.replace(block, updated)
- print(f"Updated {xml_tag} channel: version={version}")
- else:
- print(f"WARNING: No {xml_tag} block in updates.xml")
-
- with open("updates.xml", "w") as f:
- f.write(content)
- PYEOF
-
- # Commit and push to current branch
+ php /tmp/moko-platform-api/cli/updates_xml_build.php --path . --version "$VERSION" --stability "$STABILITY" --sha "$SHA256" --gitea-url "$GITEA_URL" --org "$GITEA_ORG" --repo "$GITEA_REPO"
if ! git diff --quiet updates.xml 2>/dev/null; then
git config --local user.email "gitea-actions[bot]@mokoconsulting.tech"
git config --local user.name "gitea-actions[bot]"
git add updates.xml
- git commit -m "chore: update ${STABILITY} channel ${VERSION} [skip ci]"
+ git commit -m "chore: update $STABILITY channel $VERSION [skip ci]"
git push origin HEAD 2>&1 || echo "WARNING: push failed"
fi