From 5fd7961fad3cd99042730f0acce47d91ec5849e1 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Fri, 17 Apr 2026 10:47:39 +0000 Subject: [PATCH 1/9] chore: update update.xml from MokoStandards From d4d0b2b276f2150c0a4d83a33113b1ca33d7233b Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sun, 19 Apr 2026 05:54:19 +0000 Subject: [PATCH 2/9] chore: update updates.xml from MokoStandards --- updates.xml | 132 ++++++++++++---------------------------------------- 1 file changed, 29 insertions(+), 103 deletions(-) diff --git a/updates.xml b/updates.xml index 0036015a..9bd32ef5 100644 --- a/updates.xml +++ b/updates.xml @@ -1,113 +1,39 @@ - - - MokoWaaS (Dev) - MokoWaaS development build — not for production - mokowaas - plugin - system - 02.01.12 - dev - https://github.com/mokoconsulting-tech/MokoWaaS/releases/tag/development + {{EXTENSION_NAME}} + MokoWaaS — Moko Consulting Joomla extension + {{EXTENSION_ELEMENT}} + {{EXTENSION_TYPE}} + {{VERSION}} - https://github.com/mokoconsulting-tech/MokoWaaS/releases/download/development/MokoWaaS-02.01.12-dev.zip + + https://git.mokoconsulting.tech/mokoconsulting-tech/MokoWaaS/releases/download/v{{VERSION}}/{{EXTENSION_ELEMENT}}.zip + + + https://github.com/mokoconsulting-tech/MokoWaaS/releases/download/v{{VERSION}}/{{EXTENSION_ELEMENT}}.zip + - Moko Consulting - https://mokoconsulting.tech - - MokoWaaS + + 8.1 - - - - MokoWaaS (Alpha) - MokoWaaS alpha — early testing - mokowaas - plugin - system - 02.01.12 - alpha - https://github.com/mokoconsulting-tech/MokoWaaS/releases/tag/alpha - - https://github.com/mokoconsulting-tech/MokoWaaS/releases/download/alpha/MokoWaaS-02.01.12-alpha.zip - - Moko Consulting - https://mokoconsulting.tech - - MokoWaaS - - - - - MokoWaaS (Beta) - MokoWaaS beta — feature complete, testing in progress - mokowaas - plugin - system - 02.01.12 - beta - https://github.com/mokoconsulting-tech/MokoWaaS/releases/tag/beta - - https://github.com/mokoconsulting-tech/MokoWaaS/releases/download/beta/MokoWaaS-02.01.12-beta.zip - - Moko Consulting - https://mokoconsulting.tech - - MokoWaaS - - - - - MokoWaaS (RC) - MokoWaaS release candidate — pre-release for testing - mokowaas - plugin - system - 02.01.12 - rc - https://github.com/mokoconsulting-tech/MokoWaaS/releases/tag/release-candidate - - https://github.com/mokoconsulting-tech/MokoWaaS/releases/download/release-candidate/MokoWaaS-02.01.12-rc.zip - - Moko Consulting - https://mokoconsulting.tech - - MokoWaaS - - - - - MokoWaaS - MokoWaaS system plugin for Joomla - mokowaas - plugin - system - 02.01.12 - stable - https://github.com/mokoconsulting-tech/mokowaas - - https://github.com/mokoconsulting-tech/MokoWaaS/releases/download/v02/MokoWaaS-02.01.11.zip - - c5abccaeecba85ac2f477cddb0212a72d204efaf2065db9d575d535c8cfd1fa9 - Moko Consulting - https://mokoconsulting.tech - - MokoWaaS - - + \ No newline at end of file From 76b4ddaad89cfd45794ce4d249f6173047dec490 Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Wed, 22 Apr 2026 07:23:16 +0000 Subject: [PATCH 3/9] chore: update updates.xml (development: 02.01.14-dev) [skip ci] --- updates.xml | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/updates.xml b/updates.xml index 1416241a..2cbca7bd 100644 --- a/updates.xml +++ b/updates.xml @@ -6,27 +6,6 @@ - - System - MokoWaaS - MokoWaaS system plugin — development build. - mokowaas - plugin - system - site - 02.01.14 - 2026-04-22 - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/stable - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/stable/mokowaas-02.01.14.zip - - 13e35f2a426435966fd6ee4bc3faa1c6c9e080536c4bacc4e27398e8c91bf378 - development - Moko Consulting - https://mokoconsulting.tech - - 8.1 - - System - MokoWaaS MokoWaaS system plugin — alpha build. @@ -111,4 +90,25 @@ 8.1 + + System - MokoWaaS + System - MokoWaaS (development) + system-mokowaas + plugin + 02.01.14-dev + site + system + + development + + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS + + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/system-mokowaas-02.01.14-dev.zip + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/system-mokowaas-02.01.14-dev.tar.gz + + e8a05d4ec0c323dde34e01c93b355cc8eb8e8ec20f7be7096ab53840f3582f97 + + Moko Consulting + https://mokoconsulting.tech + From d4a5367eed49c31a68d157dbb7cb0f363aa3f298 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Wed, 22 Apr 2026 02:41:57 -0500 Subject: [PATCH 4/9] fix: add mokowaas to manifest for correct ZIP naming Co-Authored-By: Claude Opus 4.6 (1M context) --- src/mokowaas.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mokowaas.xml b/src/mokowaas.xml index 591603d4..22bc01ca 100644 --- a/src/mokowaas.xml +++ b/src/mokowaas.xml @@ -23,6 +23,7 @@ --> System - MokoWaaS + mokowaas Moko Consulting 2026-04-07 Copyright (C) 2025 Moko Consulting. All rights reserved. From ea3ea5724f3f299003721b907e8ac2c7ebae972c Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Wed, 22 Apr 2026 07:46:19 +0000 Subject: [PATCH 5/9] chore(version): auto-bump patch 02.01.15 [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f0c31d75..1c438711 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.01.14 + VERSION: 02.01.15 PATH: /README.md BRIEF: Rebranding plugin for MokoWaaS platform NOTE: Internal WaaS identity abstraction layer From e408207f1acb5265f8bf2a9423e1bdfa9dd2083b Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Wed, 22 Apr 2026 07:46:19 +0000 Subject: [PATCH 6/9] chore: update updates.xml (development: 02.01.15-dev) [skip ci] --- updates.xml | 94 +++-------------------------------------------------- 1 file changed, 5 insertions(+), 89 deletions(-) diff --git a/updates.xml b/updates.xml index 2cbca7bd..b1dce641 100644 --- a/updates.xml +++ b/updates.xml @@ -6,96 +6,12 @@ - - System - MokoWaaS - MokoWaaS system plugin — alpha build. - mokowaas - plugin - system - site - 02.01.14 - 2026-04-22 - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/stable - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/stable/mokowaas-02.01.14.zip - - 13e35f2a426435966fd6ee4bc3faa1c6c9e080536c4bacc4e27398e8c91bf378 - alpha - Moko Consulting - https://mokoconsulting.tech - - 8.1 - - - - System - MokoWaaS - MokoWaaS system plugin — beta build. - mokowaas - plugin - system - site - 02.01.14 - 2026-04-22 - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/stable - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/stable/mokowaas-02.01.14.zip - - 13e35f2a426435966fd6ee4bc3faa1c6c9e080536c4bacc4e27398e8c91bf378 - beta - Moko Consulting - https://mokoconsulting.tech - - 8.1 - - - - System - MokoWaaS - MokoWaaS system plugin — release candidate. - mokowaas - plugin - system - site - 02.01.14 - 2026-04-22 - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/stable - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/stable/mokowaas-02.01.14.zip - - 13e35f2a426435966fd6ee4bc3faa1c6c9e080536c4bacc4e27398e8c91bf378 - rc - Moko Consulting - https://mokoconsulting.tech - - 8.1 - - - - System - MokoWaaS - MokoWaaS system plugin — Moko Consulting WaaS platform. - mokowaas - plugin - system - site - 02.01.14 - 2026-04-22 - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/stable - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/stable/mokowaas-02.01.14.zip - - 13e35f2a426435966fd6ee4bc3faa1c6c9e080536c4bacc4e27398e8c91bf378 - stable - Moko Consulting - https://mokoconsulting.tech - - 8.1 - - System - MokoWaaS System - MokoWaaS (development) - system-mokowaas + mokowaas plugin - 02.01.14-dev + 02.01.15-dev site system @@ -103,10 +19,10 @@ https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/system-mokowaas-02.01.14-dev.zip - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/system-mokowaas-02.01.14-dev.tar.gz + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/mokowaas-02.01.15-dev.zip + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/mokowaas-02.01.15-dev.tar.gz - e8a05d4ec0c323dde34e01c93b355cc8eb8e8ec20f7be7096ab53840f3582f97 + 7fcd567f42dcdfee58aeb6fc82f904e1cd970be6ba2fae3690d279d7e48737ed Moko Consulting https://mokoconsulting.tech From dd8edbfaea07a81273cd95776efacf93c6b703dc Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Wed, 22 Apr 2026 02:53:53 -0500 Subject: [PATCH 7/9] fix: remove stale update.xml (correct file is updates.xml) Co-Authored-By: Claude Opus 4.6 (1M context) --- update.xml | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 update.xml diff --git a/update.xml b/update.xml deleted file mode 100644 index 1ef2910a..00000000 --- a/update.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - {{EXTENSION_NAME}} - MokoWaaS — Moko Consulting Joomla extension - {{EXTENSION_ELEMENT}} - {{EXTENSION_TYPE}} - {{VERSION}} - - - https://git.mokoconsulting.tech/mokoconsulting-tech/MokoWaaS/releases/download/v{{VERSION}}/{{EXTENSION_ELEMENT}}.zip - - - https://github.com/mokoconsulting-tech/MokoWaaS/releases/download/v{{VERSION}}/{{EXTENSION_ELEMENT}}.zip - - - - 8.1 - - \ No newline at end of file From 8a3b0d1954920278c6af0400bf7dc62471d70d48 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Wed, 22 Apr 2026 03:19:47 -0500 Subject: [PATCH 8/9] chore: sync workflows from latest MokoStandards-API templates - PR-based updates.xml sync to main - Stream-based tags (stable not vXX) - Element derived from XML filename - VERSION header in updates.xml - GH_TOKEN not GH_MIRROR_TOKEN Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/auto-release.yml | 92 ++++++++++++++++++++++------- .github/workflows/update-server.yml | 21 +++++-- 2 files changed, 89 insertions(+), 24 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 749e3358..2570789f 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -103,7 +103,6 @@ jobs: echo "minor=$MINOR" >> "$GITHUB_OUTPUT" echo "major=$MAJOR" >> "$GITHUB_OUTPUT" echo "release_tag=stable" >> "$GITHUB_OUTPUT" - # Determine stability for mirror gating echo "stability=stable" >> "$GITHUB_OUTPUT" echo "skip=false" >> "$GITHUB_OUTPUT" if [ "$PATCH" = "00" ] || [ "$PATCH" = "01" ]; then @@ -290,9 +289,15 @@ jobs: [ -z "$EXT_NAME" ] && EXT_NAME="${{ github.event.repository.name }}" [ -z "$EXT_TYPE" ] && EXT_TYPE="component" - # Templates/modules don't have — derive from (lowercased) + # Derive element if not in manifest: + # 1. Try XML filename (e.g. mokowaas.xml → mokowaas) + # 2. Fall back to repo name (lowercased) if [ -z "$EXT_ELEMENT" ]; then - EXT_ELEMENT=$(echo "$EXT_NAME" | tr '[:upper:]' '[:lower:]' | tr -d ' ') + EXT_ELEMENT=$(basename "$MANIFEST" .xml | tr '[:upper:]' '[:lower:]') + # If filename is generic (templateDetails, manifest), use repo name + case "$EXT_ELEMENT" in + templatedetails|manifest|*.xml) EXT_ELEMENT=$(echo "${{ github.event.repository.name }}" | tr '[:upper:]' '[:lower:]' | tr -d ' -') ;; + esac fi # Build client tag: plugins and frontend modules need site @@ -320,8 +325,8 @@ jobs: PHP_TAG="${PHP_MINIMUM}" fi - DOWNLOAD_URL="${GITEA_URL}/${GITEA_ORG}/${GITEA_REPO}/releases/download/v${VERSION}/${EXT_ELEMENT}-${VERSION}.zip" - INFO_URL="${GITEA_URL}/${GITEA_ORG}/${GITEA_REPO}/releases/tag/v${VERSION}" + DOWNLOAD_URL="${GITEA_URL}/${GITEA_ORG}/${GITEA_REPO}/releases/download/stable/${EXT_ELEMENT}-${VERSION}.zip" + INFO_URL="${GITEA_URL}/${GITEA_ORG}/${GITEA_REPO}/releases/tag/stable" # -- Build update entry for a given stability tag build_entry() { @@ -349,7 +354,12 @@ jobs: # -- Write updates.xml with cascading channels # Stable release updates ALL channels (development, alpha, beta, rc, stable) { - printf '%s\n' '' + printf '%s\n' "" + printf '%s\n' "" + printf '%s\n' "" printf '%s\n' '' build_entry "development" build_entry "alpha" @@ -582,26 +592,68 @@ jobs: --author="gitea-actions[bot] " || true git push || true - # Also update updates.xml on main via Gitea API (git push blocked by branch protection) + # Sync updates.xml to main via PR (respects branch protection) if [ "$CURRENT_BRANCH" != "main" ]; then GA_TOKEN="${{ secrets.GA_TOKEN }}" API="${GITEA_URL:-https://git.mokoconsulting.tech}/api/v1/repos/${{ github.repository }}" + PR_BRANCH="chore/update-xml-${VERSION}" - FILE_SHA=$(curl -sf -H "Authorization: token ${GA_TOKEN}" \ - "${API}/contents/updates.xml?ref=main" | jq -r '.sha // empty') + # Create branch from main + MAIN_SHA=$(curl -sf -H "Authorization: token ${GA_TOKEN}" \ + "${API}/branches/main" | jq -r '.commit.sha // empty') - if [ -n "$FILE_SHA" ]; then - CONTENT=$(base64 -w0 updates.xml) - curl -sf -X PUT -H "Authorization: token ${GA_TOKEN}" \ + if [ -n "$MAIN_SHA" ]; then + curl -sf -X POST -H "Authorization: token ${GA_TOKEN}" \ -H "Content-Type: application/json" \ - "${API}/contents/updates.xml" \ - -d "$(jq -n \ - --arg content "$CONTENT" \ - --arg sha "$FILE_SHA" \ - --arg msg "chore: update stable channel to ${VERSION} on main [skip ci]" \ - --arg branch "main" \ - '{content: $content, sha: $sha, message: $msg, branch: $branch}' - )" > /dev/null && echo "updates.xml synced to main via API" || echo "WARNING: failed to sync updates.xml to main" + "${API}/branches" \ + -d "$(jq -n --arg name "$PR_BRANCH" --arg sha "$MAIN_SHA" \ + '{new_branch_name: $name, old_branch_name: "main"}')" > /dev/null 2>&1 || true + + # Update updates.xml on the PR branch + FILE_SHA=$(curl -sf -H "Authorization: token ${GA_TOKEN}" \ + "${API}/contents/updates.xml?ref=${PR_BRANCH}" | jq -r '.sha // empty') + + if [ -n "$FILE_SHA" ]; then + CONTENT=$(base64 -w0 updates.xml) + curl -sf -X PUT -H "Authorization: token ${GA_TOKEN}" \ + -H "Content-Type: application/json" \ + "${API}/contents/updates.xml" \ + -d "$(jq -n \ + --arg content "$CONTENT" \ + --arg sha "$FILE_SHA" \ + --arg msg "chore: update stable channel to ${VERSION} [skip ci]" \ + --arg branch "$PR_BRANCH" \ + '{content: $content, sha: $sha, message: $msg, branch: $branch}' + )" > /dev/null 2>&1 + + # Create PR + PR_URL=$(curl -sf -X POST -H "Authorization: token ${GA_TOKEN}" \ + -H "Content-Type: application/json" \ + "${API}/pulls" \ + -d "$(jq -n \ + --arg title "chore: update updates.xml for ${VERSION} [skip ci]" \ + --arg head "$PR_BRANCH" \ + --arg base "main" \ + --arg body "Auto-generated by release workflow. Updates updates.xml with SHA-256 and download URLs for ${VERSION}." \ + '{title: $title, head: $head, base: $base, body: $body}' + )" | jq -r '.number // empty') + + # Auto-merge the PR + if [ -n "$PR_URL" ]; then + curl -sf -X POST -H "Authorization: token ${GA_TOKEN}" \ + -H "Content-Type: application/json" \ + "${API}/pulls/${PR_URL}/merge" \ + -d '{"Do":"merge","merge_message_field":"chore: update updates.xml for '"${VERSION}"' [skip ci]"}' > /dev/null 2>&1 \ + && echo "updates.xml synced to main via PR #${PR_URL}" \ + || echo "PR #${PR_URL} created but auto-merge failed — merge manually" + + # Cleanup: delete PR branch + curl -sf -X DELETE -H "Authorization: token ${GA_TOKEN}" \ + "${API}/branches/${PR_BRANCH}" > /dev/null 2>&1 || true + else + echo "WARNING: failed to create PR for updates.xml sync" + fi + fi fi fi fi diff --git a/.github/workflows/update-server.yml b/.github/workflows/update-server.yml index 6eccdcef..cd9b5159 100644 --- a/.github/workflows/update-server.yml +++ b/.github/workflows/update-server.yml @@ -138,9 +138,12 @@ jobs: [ -z "$EXT_NAME" ] && EXT_NAME="${{ github.event.repository.name }}" [ -z "$EXT_TYPE" ] && EXT_TYPE="component" - # Templates and modules don't have — derive from + # Derive element if not in manifest: try XML filename, then repo name if [ -z "$EXT_ELEMENT" ]; then - EXT_ELEMENT=$(echo "$EXT_NAME" | tr '[:upper:]' '[:lower:]' | tr -d ' ') + EXT_ELEMENT=$(basename "$MANIFEST" .xml | tr '[:upper:]' '[:lower:]') + case "$EXT_ELEMENT" in + templatedetails|manifest|*.xml) EXT_ELEMENT=$(echo "${{ github.event.repository.name }}" | tr '[:upper:]' '[:lower:]' | tr -d ' -') ;; + esac fi # Use manifest version if README version is empty @@ -298,7 +301,12 @@ jobs: [ -z "$TARGETS" ] && TARGETS="${STABILITY}" if [ ! -f "updates.xml" ]; then - printf '%s\n' '' > updates.xml + printf '%s\n' "" > updates.xml + printf '%s\n' "" >> updates.xml + printf '%s\n' "" >> updates.xml printf '%s\n' '' >> updates.xml cat /tmp/new_entry.xml >> updates.xml printf '\n%s\n' '' >> updates.xml @@ -329,7 +337,12 @@ jobs: if [ $? -ne 0 ]; then # Fallback: rebuild keeping other stability entries { - printf '%s\n' '' + printf '%s\n' "" + printf '%s\n' "" + printf '%s\n' "" printf '%s\n' '' for TAG in stable rc development; do [ "$TAG" = "${STABILITY}" ] && continue From cb03a89f98fdc91c310b3c31722a6224c27fd095 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Wed, 22 Apr 2026 03:34:53 -0500 Subject: [PATCH 9/9] fix: Gitea priority 1, GitHub priority 2 for update server Co-Authored-By: Claude Opus 4.6 (1M context) --- src/mokowaas.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mokowaas.xml b/src/mokowaas.xml index 22bc01ca..65aceecf 100644 --- a/src/mokowaas.xml +++ b/src/mokowaas.xml @@ -37,8 +37,8 @@ - https://raw.githubusercontent.com/mokoconsulting-tech/MokoWaaS/main/updates.xml - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/raw/branch/main/updates.xml + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/raw/branch/main/updates.xml + https://raw.githubusercontent.com/mokoconsulting-tech/MokoWaaS/main/updates.xml