diff --git a/.mokogitea/cascade-dev.yml b/.mokogitea/cascade-dev.yml index d4780b1..41d52d5 100644 --- a/.mokogitea/cascade-dev.yml +++ b/.mokogitea/cascade-dev.yml @@ -8,21 +8,21 @@ # REPO: https://git.mokoconsulting.tech/mokoconsulting-tech/MokoStandards-API # PATH: /templates/workflows/cascade-dev.yml.template # VERSION: 02.00.00 -# BRIEF: Forward-merge main → all open branches after every push to main +# BRIEF: Forward-merge main all open branches after every push to main # # +========================================================================+ -# | CASCADE MAIN → ALL BRANCHES | +# | CASCADE MAIN ALL BRANCHES | # +========================================================================+ # | | # | Triggers on every push to main (PR merges, bot commits, etc.) | # | | # | 1. List all branches matching: dev, rc/*, beta/*, alpha/* | -# | 2. For each: create PR (main → branch), auto-merge if clean | +# | 2. For each: create PR (main branch), auto-merge if clean | # | 3. On conflict: leave PR open for manual resolution | # | | # +========================================================================+ -name: Cascade Main → Dev +name: Cascade Main Dev on: push: @@ -42,7 +42,7 @@ permissions: jobs: cascade: - name: Cascade main → branches + name: Cascade main branches runs-on: ubuntu-latest if: >- !contains(github.event.head_commit.message, '[skip ci]') && @@ -83,11 +83,11 @@ jobs: if [ -z "$TARGETS" ]; then echo "targets=" >> "$GITHUB_OUTPUT" - echo "ℹ️ No cascade target branches found" + echo " No cascade target branches found" else echo "targets=$TARGETS" >> "$GITHUB_OUTPUT" COUNT=$(echo "$TARGETS" | wc -w) - echo "📋 Found ${COUNT} target branch(es): ${TARGETS}" + echo " Found ${COUNT} target branch(es): ${TARGETS}" fi - name: Cascade to all target branches @@ -106,7 +106,7 @@ jobs: for BRANCH in $TARGETS; do echo "" - echo "═══ main → ${BRANCH} ═══" + echo " main ${BRANCH} " # Check if branch is already up to date ENCODED_BRANCH=$(echo "$BRANCH" | sed 's|/|%2F|g') @@ -117,12 +117,12 @@ jobs: AHEAD=$(echo "$RESPONSE" | jq '.total_commits // 0') if [ "$AHEAD" -eq 0 ]; then - echo " ✅ Already up to date" + echo " Already up to date" SKIPPED=$((SKIPPED + 1)) continue fi - echo " ℹ️ main is ${AHEAD} commit(s) ahead" + echo " main is ${AHEAD} commit(s) ahead" # Check for existing cascade PR EXISTING=$(curl -sS \ @@ -134,7 +134,7 @@ jobs: if [ "$EXISTING_COUNT" -gt 0 ]; then PR_NUMBER=$(echo "$EXISTING" | jq -r '.[0].number') - echo " ℹ️ Reusing existing PR #${PR_NUMBER}" + echo " Reusing existing PR #${PR_NUMBER}" else # Create cascade PR PR_RESPONSE=$(curl -sS -w "\n%{http_code}" \ @@ -142,8 +142,8 @@ jobs: -H "Authorization: token ${GA_TOKEN}" \ -H "Content-Type: application/json" \ -d "{ - \"title\": \"chore: cascade main → ${BRANCH} (${SHORT_SHA}) [skip ci]\", - \"body\": \"## Automatic cascade\\n\\nForward-merging \`main\` (${SHORT_SHA}) into \`${BRANCH}\`.\\n\\nIf conflicts exist, resolve manually and merge.\\n\\n> Auto-created by **Cascade Main → Dev**.\", + \"title\": \"chore: cascade main ${BRANCH} (${SHORT_SHA}) [skip ci]\", + \"body\": \"## Automatic cascade\\n\\nForward-merging \`main\` (${SHORT_SHA}) into \`${BRANCH}\`.\\n\\nIf conflicts exist, resolve manually and merge.\\n\\n> Auto-created by **Cascade Main Dev**.\", \"head\": \"main\", \"base\": \"${BRANCH}\" }" \ @@ -155,12 +155,12 @@ jobs: if [ "$HTTP_CODE" != "201" ] || [ -z "$PR_NUMBER" ]; then MSG=$(echo "$BODY" | jq -r '.message // .' 2>/dev/null | head -1) - echo " ❌ Failed to create PR (HTTP ${HTTP_CODE}): ${MSG}" + echo " Failed to create PR (HTTP ${HTTP_CODE}): ${MSG}" FAILED=$((FAILED + 1)) continue fi - echo " ✅ Created PR #${PR_NUMBER}" + echo " Created PR #${PR_NUMBER}" fi # Try auto-merge @@ -171,7 +171,7 @@ jobs: MERGEABLE=$(echo "$PR_DATA" | jq -r '.mergeable // false') if [ "$MERGEABLE" != "true" ]; then - echo " ⚠️ Conflicts — PR #${PR_NUMBER} left open" + echo " Conflicts PR #${PR_NUMBER} left open" CONFLICTS=$((CONFLICTS + 1)) continue fi @@ -182,7 +182,7 @@ jobs: -H "Content-Type: application/json" \ -d "{ \"Do\": \"merge\", - \"merge_message_field\": \"chore: cascade main → ${BRANCH} [skip ci]\", + \"merge_message_field\": \"chore: cascade main ${BRANCH} [skip ci]\", \"delete_branch_after_merge\": false }" \ "${API}/pulls/${PR_NUMBER}/merge") @@ -190,23 +190,23 @@ jobs: MERGE_HTTP=$(echo "$MERGE_RESPONSE" | tail -1) if [ "$MERGE_HTTP" = "200" ] || [ "$MERGE_HTTP" = "204" ]; then - echo " ✅ Merged — ${BRANCH} is in sync" + echo " Merged ${BRANCH} is in sync" SUCCESS=$((SUCCESS + 1)) else MERGE_BODY=$(echo "$MERGE_RESPONSE" | sed '$d') - echo " ⚠️ Merge failed (HTTP ${MERGE_HTTP}) — PR #${PR_NUMBER} left open" + echo " Merge failed (HTTP ${MERGE_HTTP}) PR #${PR_NUMBER} left open" CONFLICTS=$((CONFLICTS + 1)) fi done # Summary echo "" - echo "════════════════════════════════════════" - echo " ✅ Merged: ${SUCCESS}" - echo " ⚠️ Conflicts: ${CONFLICTS}" - echo " ⏭️ Up to date: ${SKIPPED}" - echo " ❌ Failed: ${FAILED}" - echo "════════════════════════════════════════" + echo "" + echo " Merged: ${SUCCESS}" + echo " Conflicts: ${CONFLICTS}" + echo " Up to date: ${SKIPPED}" + echo " Failed: ${FAILED}" + echo "" if [ "$FAILED" -gt 0 ]; then exit 1 diff --git a/.mokogitea/cleanup.yml b/.mokogitea/cleanup.yml index 78aa0c3..5e9423f 100644 --- a/.mokogitea/cleanup.yml +++ b/.mokogitea/cleanup.yml @@ -8,7 +8,7 @@ # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /.gitea/workflows/cleanup.yml # VERSION: 01.00.00 -# BRIEF: Scheduled cleanup — delete merged branches and old workflow runs +# BRIEF: Scheduled cleanup delete merged branches and old workflow runs name: Repository Cleanup diff --git a/.mokogitea/gitleaks.yml b/.mokogitea/gitleaks.yml index b29f881..6532d76 100644 --- a/.mokogitea/gitleaks.yml +++ b/.mokogitea/gitleaks.yml @@ -8,7 +8,7 @@ # REPO: https://git.mokoconsulting.tech/mokoconsulting-tech/MokoStandards-API # PATH: /templates/workflows/gitleaks.yml.template # VERSION: 01.00.00 -# BRIEF: Secret scanning — detect leaked credentials, API keys, and tokens +# BRIEF: Secret scanning detect leaked credentials, API keys, and tokens # # +========================================================================+ # | SECRET SCANNING | @@ -89,7 +89,7 @@ jobs: run: | REPO="${{ github.event.repository.name }}" curl -sS \ - -H "Title: ${REPO} — secrets detected in code" \ + -H "Title: ${REPO} secrets detected in code" \ -H "Tags: rotating_light,key" \ -H "Priority: urgent" \ -d "Gitleaks found potential secrets. Review and rotate credentials immediately." \ diff --git a/.mokogitea/notify.yml b/.mokogitea/notify.yml index 8cc8382..d59ed49 100644 --- a/.mokogitea/notify.yml +++ b/.mokogitea/notify.yml @@ -18,7 +18,7 @@ on: - "Joomla Build & Release" - "Joomla Extension CI" - "Deploy" - - "Cascade Main → Dev" + - "Cascade Main Dev" types: - completed diff --git a/.mokogitea/pr-check.yml b/.mokogitea/pr-check.yml index 0220500..a993f30 100644 --- a/.mokogitea/pr-check.yml +++ b/.mokogitea/pr-check.yml @@ -8,7 +8,7 @@ # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /.gitea/workflows/pr-check.yml # VERSION: 01.00.00 -# BRIEF: PR gate — validates code quality and manifest before merge to main +# BRIEF: PR gate validates code quality and manifest before merge to main name: PR Check @@ -81,7 +81,7 @@ jobs: - name: Check updates.xml format run: | if [ ! -f "updates.xml" ]; then - echo "No updates.xml — skipping" + echo "No updates.xml skipping" exit 0 fi echo "=== updates.xml Validation ===" @@ -102,5 +102,5 @@ jobs: fi # Dry-run: ensure zip would succeed FILE_COUNT=$(find "$SOURCE_DIR" -type f | wc -l) - echo "Source contains ${FILE_COUNT} files — package will build" + echo "Source contains ${FILE_COUNT} files package will build" [ "$FILE_COUNT" -gt 0 ] || { echo "::error::Source directory is empty"; exit 1; } diff --git a/.mokogitea/pre-release.yml b/.mokogitea/pre-release.yml index 30c9bcf..35e8abb 100644 --- a/.mokogitea/pre-release.yml +++ b/.mokogitea/pre-release.yml @@ -8,7 +8,7 @@ # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /.gitea/workflows/pre-release.yml # VERSION: 01.00.00 -# BRIEF: Manual pre-release — builds dev/alpha/beta/rc packages from any branch +# BRIEF: Manual pre-release builds dev/alpha/beta/rc packages from any branch name: Pre-Release @@ -72,7 +72,7 @@ jobs: MINOR=$(echo "$CURRENT" | cut -d. -f2) PATCH=$(echo "$CURRENT" | cut -d. -f3) - # Patch bump with rollover: ZZ=99 → bump minor, YY=99 → bump major + # Patch bump with rollover: ZZ=99 bump minor, YY=99 bump major NEW_PATCH=$((10#$PATCH + 1)) NEW_MINOR=$((10#$MINOR)) NEW_MAJOR=$((10#$MAJOR)) @@ -89,7 +89,7 @@ jobs: VERSION=$(printf "%02d.%02d.%02d" $NEW_MAJOR $NEW_MINOR $NEW_PATCH) TODAY=$(date +%Y-%m-%d) - echo "Bumping: ${CURRENT} → ${VERSION} (patch)" + echo "Bumping: ${CURRENT} ${VERSION} (patch)" # Update README.md sed -i "s/VERSION:[[:space:]]*${CURRENT}/VERSION: ${VERSION}/" README.md @@ -108,7 +108,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 2>&1 } @@ -231,7 +231,7 @@ jobs: DATE=$(date +%Y-%m-%d) if [ ! -f "updates.xml" ]; then - echo "No updates.xml — skipping" + echo "No updates.xml skipping" exit 0 fi @@ -297,7 +297,7 @@ jobs: for BRANCH in main dev; do [ "$BRANCH" = "$CURRENT_BRANCH" ] && continue - echo "Syncing updates.xml → ${BRANCH}" + echo "Syncing updates.xml ${BRANCH}" git fetch origin "${BRANCH}" 2>/dev/null || continue git checkout "origin/${BRANCH}" -- . 2>/dev/null || continue git checkout "${CURRENT_BRANCH}" -- updates.xml @@ -316,7 +316,7 @@ jobs: TOKEN="${{ secrets.GA_TOKEN }}" STABILITY="${{ steps.meta.outputs.stability }}" - # Cascade: rc → beta,alpha,dev | beta → alpha,dev | alpha → dev | dev → nothing + # Cascade: rc beta,alpha,dev | beta alpha,dev | alpha dev | dev nothing case "$STABILITY" in release-candidate) TAGS_TO_DELETE="beta alpha development" ;; beta) TAGS_TO_DELETE="alpha development" ;;