From d001ef7c3585c5da11f753d2bceed0765650e0ad Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sat, 30 May 2026 21:49:52 -0500 Subject: [PATCH] fix(ci): support HTML comment VERSION format, add en-GB/en-US check - Release readiness: support format in README.md (not just FILE INFORMATION block format) - Add language directory check: verify en-GB and en-US exist in all language/ directories under src/ or htdocs/ Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- .mokogitea/workflows/ci-joomla.yml | 35 ++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/.mokogitea/workflows/ci-joomla.yml b/.mokogitea/workflows/ci-joomla.yml index 2da3158..7090e40 100644 --- a/.mokogitea/workflows/ci-joomla.yml +++ b/.mokogitea/workflows/ci-joomla.yml @@ -202,6 +202,37 @@ jobs: echo "**Language file check passed.**" >> $GITHUB_STEP_SUMMARY fi + - name: Check en-GB and en-US language directories exist + run: | + echo "### Language Directory Check" >> $GITHUB_STEP_SUMMARY + ERRORS=0 + + for DIR in src/ htdocs/; do + [ -d "$DIR" ] || continue + # Find all language directories + while IFS= read -r -d '' LANG_DIR; do + HAS_GB=false + HAS_US=false + [ -d "${LANG_DIR}/en-GB" ] && HAS_GB=true + [ -d "${LANG_DIR}/en-US" ] && HAS_US=true + if [ "$HAS_GB" = false ]; then + echo "Missing \`en-GB\` in: \`${LANG_DIR}\`" >> $GITHUB_STEP_SUMMARY + ERRORS=$((ERRORS + 1)) + fi + if [ "$HAS_US" = false ]; then + echo "Missing \`en-US\` in: \`${LANG_DIR}\`" >> $GITHUB_STEP_SUMMARY + ERRORS=$((ERRORS + 1)) + fi + done < <(find "$DIR" -type d -name "language" -print0) + done + + if [ "${ERRORS}" -gt 0 ]; then + echo "**${ERRORS} missing language director(ies).**" >> $GITHUB_STEP_SUMMARY + exit 1 + else + echo "All language directories have en-GB and en-US." >> $GITHUB_STEP_SUMMARY + fi + - name: Check index.html files in directories run: | echo "### Index.html Check" >> $GITHUB_STEP_SUMMARY @@ -245,8 +276,8 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY ERRORS=0 - # Extract version from README.md - README_VERSION=$(grep -oP '^\s*VERSION:\s*\K[0-9]{2}\.[0-9]{2}\.[0-9]{2}' README.md | head -1) + # Extract version from README.md (supports both FILE INFORMATION block and HTML comment format) + README_VERSION=$(grep -oP 'VERSION:\s*\K[0-9]{2}\.[0-9]{2}\.[0-9]{2}' README.md | head -1) if [ -z "$README_VERSION" ]; then echo "No VERSION found in README.md FILE INFORMATION block." >> $GITHUB_STEP_SUMMARY ERRORS=$((ERRORS + 1))