From acdf0d4af660c8bafe24e03f4e88f8e01ecf02f3 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sat, 23 May 2026 23:29:16 -0500 Subject: [PATCH] fix(ci): replace all non-ASCII chars in auto-release.yml Gitea YAML parser rejects UTF-8 em dashes and arrows as control characters, preventing workflow_dispatch. Replace with ASCII equivalents. Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- .mokogitea/workflows/auto-release.yml | 32 +++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.mokogitea/workflows/auto-release.yml b/.mokogitea/workflows/auto-release.yml index d002f4b..1367ed1 100644 --- a/.mokogitea/workflows/auto-release.yml +++ b/.mokogitea/workflows/auto-release.yml @@ -98,7 +98,7 @@ jobs: run: | VERSION=$(php /tmp/moko-platform-api/cli/version_read.php --path . 2>/dev/null) if [ -z "$VERSION" ]; then - echo "No VERSION in README.md — skipping release" + echo "No VERSION in README.md -- skipping release" echo "skip=true" >> "$GITHUB_OUTPUT" exit 0 fi @@ -118,10 +118,10 @@ jobs: echo "skip=false" >> "$GITHUB_OUTPUT" if [ "$PATCH" = "00" ] || [ "$PATCH" = "01" ]; then echo "is_minor=true" >> "$GITHUB_OUTPUT" - echo "Version: $VERSION (first release for this minor — full pipeline)" + echo "Version: $VERSION (first release for this minor -- full pipeline)" else echo "is_minor=false" >> "$GITHUB_OUTPUT" - echo "Version: $VERSION (patch — platform version + badges only)" + echo "Version: $VERSION (patch -- platform version + badges only)" fi # -- STEP 1b: Bump minor version (stable = minor bump, reset patch) ------ @@ -145,7 +145,7 @@ jobs: VERSION=$(printf "%02d.%02d.00" $MAJOR $MINOR) TODAY=$(date +%Y-%m-%d) - echo "Stable bump: ${CURRENT} → ${VERSION} (minor)" + echo "Stable bump: ${CURRENT} -> ${VERSION} (minor)" # Update README.md sed -i "s/VERSION:[[:space:]]*${CURRENT}/VERSION: ${VERSION}/" README.md @@ -168,7 +168,7 @@ jobs: if [ -n "$SUB_VER" ]; then sed -i "s|${SUB_VER}|${VERSION}|" "$SUB_MANIFEST" sed -i "s|[^<]*|${TODAY}|" "$SUB_MANIFEST" - echo " Bumped sub-extension: $(basename $SUB_MANIFEST) ${SUB_VER} → ${VERSION}" + echo " Bumped sub-extension: $(basename $SUB_MANIFEST) ${SUB_VER} -> ${VERSION}" fi done fi @@ -197,7 +197,7 @@ jobs: git remote set-url origin "https://jmiller:${{ secrets.GA_TOKEN }}@git.mokoconsulting.tech/${{ github.repository }}.git" git add -A git diff --cached --quiet || { - git commit -m "chore(version): bump ${CURRENT} → ${VERSION} [skip ci]" + git commit -m "chore(version): bump ${CURRENT} -> ${VERSION} [skip ci]" git push origin HEAD:main 2>&1 } @@ -221,7 +221,7 @@ jobs: echo "tag_exists=$TAG_EXISTS" >> "$GITHUB_OUTPUT" echo "branch_exists=$BRANCH_EXISTS" >> "$GITHUB_OUTPUT" - # Tag and branch may persist across patch releases — never skip + # Tag and branch may persist across patch releases -- never skip echo "already_released=false" >> "$GITHUB_OUTPUT" # -- SANITY CHECKS ------------------------------------------------------- @@ -316,13 +316,13 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY if [ "$ERRORS" -gt 0 ]; then - echo "**${ERRORS} error(s) — release may be incomplete**" >> $GITHUB_STEP_SUMMARY + echo "**${ERRORS} error(s) -- release may be incomplete**" >> $GITHUB_STEP_SUMMARY else echo "**All sanity checks passed**" >> $GITHUB_STEP_SUMMARY fi # -- STEP 2: Create or update version/XX.YY archive branch --------------- - # Always runs — every version change on main archives to version/XX.YY + # Always runs -- every version change on main archives to version/XX.YY - name: "Step 2: Version archive branch" if: steps.check.outputs.already_released != 'true' run: | @@ -378,11 +378,11 @@ jobs: MANIFEST=$(find ./src -maxdepth 1 -name "pkg_*.xml" -exec grep -l '/dev/null | head -1) [ -z "$MANIFEST" ] && MANIFEST=$(find . -maxdepth 2 -name "*.xml" ! -path "*/packages/*" -exec grep -l '/dev/null | head -1) if [ -z "$MANIFEST" ]; then - echo "Warning: No Joomla XML manifest found — skipping updates.xml" >> $GITHUB_STEP_SUMMARY + echo "Warning: No Joomla XML manifest found -- skipping updates.xml" >> $GITHUB_STEP_SUMMARY exit 0 fi - # Extract fields using sed (portable — no grep -P) + # Extract fields using sed (portable -- no grep -P) EXT_NAME=$(sed -n 's/.*\([^<]*\)<\/name>.*/\1/p' "$MANIFEST" | head -1) EXT_TYPE=$(sed -n 's/.*]*type="\([^"]*\)".*/\1/p' "$MANIFEST" | head -1) EXT_ELEMENT=$(sed -n 's/.*\([^<]*\)<\/element>.*/\1/p' "$MANIFEST" | head -1) @@ -628,7 +628,7 @@ jobs: "${API_BASE}/releases/tags/${RELEASE_TAG}" 2>/dev/null || true) RELEASE_ID=$(echo "$RELEASE_JSON" | python3 -c "import sys,json; print(json.load(sys.stdin).get('id',''))" 2>/dev/null || true) if [ -z "$RELEASE_ID" ]; then - echo "No release ${RELEASE_TAG} found — skipping ZIP upload" + echo "No release ${RELEASE_TAG} found -- skipping ZIP upload" exit 0 fi @@ -663,7 +663,7 @@ jobs: # -- Build install packages from src/ ---------------------------- SOURCE_DIR="src" [ ! -d "$SOURCE_DIR" ] && SOURCE_DIR="htdocs" - [ ! -d "$SOURCE_DIR" ] && { echo "No src/ or htdocs/ — skipping package"; exit 0; } + [ ! -d "$SOURCE_DIR" ] && { echo "No src/ or htdocs/ -- skipping package"; exit 0; } EXCLUDES=".ftpignore sftp-config* *.ppk *.pem *.key .env*" @@ -787,7 +787,7 @@ jobs: --author="gitea-actions[bot] " || true git push || true - # Sync updates.xml to main via direct API (always runs — may be on version/XX branch) + # Sync updates.xml to main via direct API (always runs -- may be on version/XX branch) GA_TOKEN="${{ secrets.GA_TOKEN }}" API="${GITEA_URL:-https://git.mokoconsulting.tech}/api/v1/repos/${{ github.repository }}" @@ -950,7 +950,7 @@ jobs: || echo "WARNING: GitHub mirror push failed" # -- Clean up lesser pre-releases (cascade) --------------------------------- - # stable → deletes all | rc → beta,alpha,dev | beta → alpha,dev | alpha → dev + # stable -> deletes all | rc -> beta,alpha,dev | beta -> alpha,dev | alpha -> dev - name: "Delete lesser pre-release channels" if: steps.version.outputs.skip != 'true' continue-on-error: true @@ -1031,7 +1031,7 @@ jobs: echo "## Release Skipped" >> $GITHUB_STEP_SUMMARY echo "No VERSION in README.md" >> $GITHUB_STEP_SUMMARY elif [ "${{ steps.check.outputs.already_released }}" = "true" ]; then - echo "## Already Released — ${VERSION}" >> $GITHUB_STEP_SUMMARY + echo "## Already Released -- ${VERSION}" >> $GITHUB_STEP_SUMMARY else echo "" >> $GITHUB_STEP_SUMMARY echo "## Build & Release Complete (${PLATFORM})" >> $GITHUB_STEP_SUMMARY -- 2.52.0