From ab9112c234e17dcd09b6ca577e67607bfd12eae2 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sun, 5 Jul 2026 20:37:37 +0000 Subject: [PATCH] ci(templates): gate build/CI/release/version workflows off template repos + normalize mokocli refs - Add 'skip on Template-*' guards to build/CI/release/version workflows so they don't run on the template repo itself (only on repos created from it). - Smart-gate sync workflows to run ONLY on Template-* sources (so platform templates still propagate, but regular repos don't trigger sync-out). - Normalize mokocli->MokoCLI repo/clone URLs, drop stale mokoconsulting-tech org slug on the git host, and mokoplatform/moko-platform->mokocli. (/opt/mokocli + /tmp/mokocli server paths left intact.) --- .mokogitea/ISSUE_TEMPLATE/config.yml | 4 ++-- .mokogitea/branch-protection.yml | 6 +++--- .mokogitea/workflows/auto-bump.yml | 4 ++-- .mokogitea/workflows/auto-release.yml | 6 +++--- .mokogitea/workflows/branch-cleanup.yml | 2 +- .mokogitea/workflows/changelog-validation.yml | 1 + .mokogitea/workflows/ci-issue-reporter.yml | 2 +- .mokogitea/workflows/custom/workflow-sync-trigger.yml | 4 ++-- .mokogitea/workflows/gitleaks.yml | 2 +- .mokogitea/workflows/mcp-auto-release.yml | 4 ++-- .mokogitea/workflows/mcp-build-test.yml | 1 + .mokogitea/workflows/mcp-sdk-check.yml | 1 + .mokogitea/workflows/pr-check.yml | 4 ++-- .mokogitea/workflows/pre-release.yml | 4 ++-- .mokogitea/workflows/rc-revert.yml | 2 +- .mokogitea/workflows/repo-health.yml | 2 +- .mokogitea/workflows/sync-version-on-merge.yml | 1 + CHANGELOG.md | 1 + CLAUDE.md | 4 ++-- LICENSE | 2 +- Makefile | 2 +- README.md | 6 +++++- 22 files changed, 37 insertions(+), 28 deletions(-) diff --git a/.mokogitea/ISSUE_TEMPLATE/config.yml b/.mokogitea/ISSUE_TEMPLATE/config.yml index d4d49ec..ef3e244 100644 --- a/.mokogitea/ISSUE_TEMPLATE/config.yml +++ b/.mokogitea/ISSUE_TEMPLATE/config.yml @@ -8,10 +8,10 @@ contact_links: url: https://mokoconsulting.tech/ about: Get help or ask questions through our website - name: 📚 MokoStandards Documentation - url: https://git.mokoconsulting.tech/MokoConsulting/moko-platform + url: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI about: View our coding standards and best practices - name: 🔒 Report a Security Vulnerability - url: https://git.mokoconsulting.tech/mokoconsulting-tech/.github-private/security/advisories/new + url: https://git.mokoconsulting.tech/MokoConsulting/.github-private/security/advisories/new about: Report security vulnerabilities privately (for critical issues) - name: 💡 Community Discussions url: https://github.com/orgs/mokoconsulting-tech/discussions diff --git a/.mokogitea/branch-protection.yml b/.mokogitea/branch-protection.yml index 2dff8b9..901347f 100644 --- a/.mokogitea/branch-protection.yml +++ b/.mokogitea/branch-protection.yml @@ -2,8 +2,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later # FILE INFORMATION # DEFGROUP: Gitea.Workflow -# INGROUP: moko-platform.Automation -# REPO: https://git.mokoconsulting.tech/MokoConsulting/moko-platform +# INGROUP: mokocli.Automation +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /.gitea/workflows/branch-protection.yml # BRIEF: Apply standardised branch protection rules to all governed repositories # @@ -62,7 +62,7 @@ jobs: API="${GITEA_URL}/api/v1" # Platform/standards/infra repos to exclude - EXCLUDE="gitea-org-config org-profile gitea-private .mokogitea-private MokoStandards moko-platform MokoTesting" + EXCLUDE="gitea-org-config org-profile gitea-private .mokogitea-private MokoStandards mokocli MokoTesting" EXCLUDE="$EXCLUDE MokoStandards-Template-Client MokoStandards-Template-Dolibarr MokoStandards-Template-Generic MokoStandards-Template-Joomla MokoDoliProjTemplate" if [ -n "${{ inputs.repos }}" ]; then diff --git a/.mokogitea/workflows/auto-bump.yml b/.mokogitea/workflows/auto-bump.yml index 12bbf0b..7d8e158 100644 --- a/.mokogitea/workflows/auto-bump.yml +++ b/.mokogitea/workflows/auto-bump.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Release -# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /.mokogitea/workflows/auto-bump.yml # VERSION: 09.02.00 # BRIEF: Auto patch-bump version on every push to dev (skips merge commits) @@ -52,7 +52,7 @@ jobs: echo "MOKO_CLI=/opt/mokocli/cli" >> "$GITHUB_ENV" else git clone --depth 1 --branch main --quiet \ - "https://x-access-token:${{ secrets.MOKOGITEA_TOKEN }}@git.mokoconsulting.tech/MokoConsulting/mokocli.git" \ + "https://x-access-token:${{ secrets.MOKOGITEA_TOKEN }}@git.mokoconsulting.tech/MokoConsulting/MokoCLI.git" \ /tmp/mokocli cd /tmp/mokocli && composer install --no-dev --no-interaction --quiet echo "MOKO_CLI=/tmp/mokocli/cli" >> "$GITHUB_ENV" diff --git a/.mokogitea/workflows/auto-release.yml b/.mokogitea/workflows/auto-release.yml index 5865324..72419e4 100644 --- a/.mokogitea/workflows/auto-release.yml +++ b/.mokogitea/workflows/auto-release.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Release -# REPO: https://git.mokoconsulting.tech/mokoconsulting-tech/mokocli +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /templates/workflows/universal/auto-release.yml.template # VERSION: 05.00.00 # BRIEF: Universal build & release � detects platform from manifest.xml @@ -90,7 +90,7 @@ jobs: sudo apt-get update -qq && sudo apt-get install -y -qq php-cli php-mbstring php-xml php-zip php-curl composer > /dev/null 2>&1 fi rm -rf /tmp/mokocli - CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/mokocli.git + CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/MokoCLI.git git clone --depth 1 --branch main --quiet $CLONE_URL /tmp/mokocli cd /tmp/mokocli composer install --no-dev --no-interaction --quiet @@ -208,7 +208,7 @@ jobs: sudo apt-get update -qq && sudo apt-get install -y -qq php-cli php-mbstring php-xml php-zip php-curl composer > /dev/null 2>&1 fi rm -rf /tmp/mokocli - CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/mokocli.git + CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/MokoCLI.git git clone --depth 1 --branch main --quiet $CLONE_URL /tmp/mokocli cd /tmp/mokocli composer install --no-dev --no-interaction --quiet diff --git a/.mokogitea/workflows/branch-cleanup.yml b/.mokogitea/workflows/branch-cleanup.yml index 9d884e7..c5ccf88 100644 --- a/.mokogitea/workflows/branch-cleanup.yml +++ b/.mokogitea/workflows/branch-cleanup.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Universal -# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /.mokogitea/workflows/branch-cleanup.yml # VERSION: 01.00.00 # BRIEF: Delete feature branches after PR merge diff --git a/.mokogitea/workflows/changelog-validation.yml b/.mokogitea/workflows/changelog-validation.yml index 0601d2f..320b828 100644 --- a/.mokogitea/workflows/changelog-validation.yml +++ b/.mokogitea/workflows/changelog-validation.yml @@ -34,6 +34,7 @@ jobs: validate-changelog: name: Validate CHANGELOG.md runs-on: ubuntu-latest + if: ${{ !startsWith(github.event.repository.name, 'Template-') }} steps: - name: Checkout repository diff --git a/.mokogitea/workflows/ci-issue-reporter.yml b/.mokogitea/workflows/ci-issue-reporter.yml index 7ad19c8..2682c6c 100644 --- a/.mokogitea/workflows/ci-issue-reporter.yml +++ b/.mokogitea/workflows/ci-issue-reporter.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Universal -# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /.mokogitea/workflows/ci-issue-reporter.yml # VERSION: 01.00.00 # BRIEF: Reusable workflow — creates/updates a Gitea issue when a CI gate fails. diff --git a/.mokogitea/workflows/custom/workflow-sync-trigger.yml b/.mokogitea/workflows/custom/workflow-sync-trigger.yml index 34891e8..ef6f8e2 100644 --- a/.mokogitea/workflows/custom/workflow-sync-trigger.yml +++ b/.mokogitea/workflows/custom/workflow-sync-trigger.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Universal -# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /.mokogitea/workflows/workflow-sync-trigger.yml # VERSION: 01.01.00 # BRIEF: Trigger workflow sync to live repos when a PR is merged to main @@ -52,7 +52,7 @@ jobs: MOKOGITEA_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} run: | MOKOGITEA_URL="${{ vars.GITEA_URL || 'https://git.mokoconsulting.tech' }}" - git clone --depth 1 "${MOKOGITEA_URL}/MokoConsulting/mokocli.git" /tmp/mokocli + git clone --depth 1 "${MOKOGITEA_URL}/MokoConsulting/MokoCLI.git" /tmp/mokocli - name: Install PHP run: | diff --git a/.mokogitea/workflows/gitleaks.yml b/.mokogitea/workflows/gitleaks.yml index 196cf0c..e239c2a 100644 --- a/.mokogitea/workflows/gitleaks.yml +++ b/.mokogitea/workflows/gitleaks.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Security -# REPO: https://git.mokoconsulting.tech/mokoconsulting-tech/MokoStandards-API +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards-API # PATH: /templates/workflows/gitleaks.yml.template # VERSION: 01.00.00 # BRIEF: Secret scanning — detect leaked credentials, API keys, and tokens diff --git a/.mokogitea/workflows/mcp-auto-release.yml b/.mokogitea/workflows/mcp-auto-release.yml index 4aab368..431220a 100644 --- a/.mokogitea/workflows/mcp-auto-release.yml +++ b/.mokogitea/workflows/mcp-auto-release.yml @@ -87,13 +87,13 @@ jobs: done # ── Version ────────────────────────────────────────────────────── - - name: Setup moko-platform tools + - name: Setup mokocli tools env: GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' run: | git clone --depth 1 --branch version/04 --quiet \ - "https://x-access-token:${GH_TOKEN}@github.com/MokoConsulting/moko-platform.git" \ + "https://x-access-token:${GH_TOKEN}@github.com/MokoConsulting/MokoCLI.git" \ /tmp/mokostandards cd /tmp/mokostandards composer install --no-dev --no-interaction --quiet diff --git a/.mokogitea/workflows/mcp-build-test.yml b/.mokogitea/workflows/mcp-build-test.yml index 1a18883..e2cebd2 100644 --- a/.mokogitea/workflows/mcp-build-test.yml +++ b/.mokogitea/workflows/mcp-build-test.yml @@ -22,6 +22,7 @@ permissions: jobs: build: runs-on: ubuntu-latest + if: ${{ !startsWith(github.event.repository.name, 'Template-') }} strategy: matrix: node-version: [20, 22] diff --git a/.mokogitea/workflows/mcp-sdk-check.yml b/.mokogitea/workflows/mcp-sdk-check.yml index 50125c0..3cbcba0 100644 --- a/.mokogitea/workflows/mcp-sdk-check.yml +++ b/.mokogitea/workflows/mcp-sdk-check.yml @@ -19,6 +19,7 @@ permissions: jobs: check-sdk: runs-on: ubuntu-latest + if: ${{ !startsWith(github.event.repository.name, 'Template-') }} steps: - uses: actions/checkout@v4 diff --git a/.mokogitea/workflows/pr-check.yml b/.mokogitea/workflows/pr-check.yml index c834bf5..8dbad9f 100644 --- a/.mokogitea/workflows/pr-check.yml +++ b/.mokogitea/workflows/pr-check.yml @@ -4,8 +4,8 @@ # # FILE INFORMATION # DEFGROUP: Gitea.Workflow -# INGROUP: moko-platform.CI -# REPO: https://git.mokoconsulting.tech/mokoconsulting-tech/moko-platform +# INGROUP: mokocli.CI +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /templates/workflows/universal/pr-check.yml.template # VERSION: 09.23.00 # BRIEF: PR gate — branch policy + code validation before merge diff --git a/.mokogitea/workflows/pre-release.yml b/.mokogitea/workflows/pre-release.yml index efb3d1b..d1124e7 100644 --- a/.mokogitea/workflows/pre-release.yml +++ b/.mokogitea/workflows/pre-release.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Release -# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /templates/workflows/universal/pre-release.yml.template # VERSION: 05.02.00 # BRIEF: Auto pre-release on push to dev/alpha/beta/rc branches @@ -80,7 +80,7 @@ jobs: sudo apt-get update -qq && sudo apt-get install -y -qq php-cli php-mbstring php-xml php-zip php-curl composer > /dev/null 2>&1 fi rm -rf /tmp/mokocli - CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/mokocli.git + CLONE_URL=https://x-access-token:${MOKO_CLONE_TOKEN}@${MOKO_CLONE_HOST}/MokoCLI.git git clone --depth 1 --branch main --quiet $CLONE_URL /tmp/mokocli cd /tmp/mokocli && composer install --no-dev --no-interaction --quiet echo MOKO_CLI=/tmp/mokocli/cli >> $GITHUB_ENV diff --git a/.mokogitea/workflows/rc-revert.yml b/.mokogitea/workflows/rc-revert.yml index 8271593..3fe0d52 100644 --- a/.mokogitea/workflows/rc-revert.yml +++ b/.mokogitea/workflows/rc-revert.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Universal -# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /.mokogitea/workflows/rc-revert.yml # VERSION: 09.23.00 # BRIEF: Rename rc/ branch back to dev/ when PR is closed without merge diff --git a/.mokogitea/workflows/repo-health.yml b/.mokogitea/workflows/repo-health.yml index 092b60e..ad7c340 100644 --- a/.mokogitea/workflows/repo-health.yml +++ b/.mokogitea/workflows/repo-health.yml @@ -8,7 +8,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Validation -# REPO: https://git.mokoconsulting.tech/mokoconsulting-tech/mokocli +# REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCLI # PATH: /templates/workflows/joomla/repo_health.yml.template # VERSION: 09.23.00 # BRIEF: Enforces repository guardrails by validating scripts governance, tooling availability, and core repository health artifacts. diff --git a/.mokogitea/workflows/sync-version-on-merge.yml b/.mokogitea/workflows/sync-version-on-merge.yml index 51cc422..90d1bc3 100644 --- a/.mokogitea/workflows/sync-version-on-merge.yml +++ b/.mokogitea/workflows/sync-version-on-merge.yml @@ -39,6 +39,7 @@ jobs: sync-version: name: Propagate README version runs-on: ubuntu-latest + if: ${{ !startsWith(github.event.repository.name, 'Template-') }} steps: - name: Checkout repository diff --git a/CHANGELOG.md b/CHANGELOG.md index faf4dde..caa19be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,4 +8,5 @@ - HCL definition files removed -- Template repos are now the canonical source ### Added +- CI: gate build/CI/release/version workflows so they skip template repos; smart-gate the sync workflows to run only on Template-* repos; normalize mokocli/MokoCLI refs and drop the stale mokoconsulting-tech org slug. - `branch-cleanup.yml`: auto-delete merged feature branches after PR merge diff --git a/CLAUDE.md b/CLAUDE.md index 0534d08..10ca16d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -13,7 +13,7 @@ This file provides guidance to Claude Code when working with this repository. | **Default branch** | main | | **License** | GPL-3.0-or-later | | **Wiki** | [Template-MCP Wiki](https://git.mokoconsulting.tech/MokoConsulting/Template-MCP/wiki) | -| **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) | +| **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki/Home) | ## Common Commands @@ -49,4 +49,4 @@ This is an MCP (Model Context Protocol) server. Key files: - **Branch strategy**: develop on `dev`, merge to `main` for release - **Minification**: handled at build time (CI) and runtime (MokoMinifyHelper for Joomla templates) - **Wiki**: documentation lives in the Gitea wiki, not in `docs/` files -- **Standards**: this repo follows [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) +- **Standards**: this repo follows [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki/Home) diff --git a/LICENSE b/LICENSE index 1756213..abeb1e8 100644 --- a/LICENSE +++ b/LICENSE @@ -13,7 +13,7 @@ # FILE INFORMATION DEFGROUP: MokoStandards INGROUP: MokoStandards.Documentation - REPO: https://git.mokoconsulting.tech/mokoconsulting-tech/MokoStandards/ + REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards/ VERSION: 05.00.00 PATH: ./LICENSE BRIEF: Project license (GPL-3.0-or-later) diff --git a/Makefile b/Makefile index 79907b1..67570f1 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ install-deps: ## Install dependencies @$(NPM) install @echo "$(COLOR_GREEN)✓ Dependencies installed$(COLOR_RESET)" -MOKO_PLATFORM ?= $(or $(wildcard ../moko-platform),$(wildcard $(HOME)/moko-platform),$(wildcard /opt/moko-platform)) +MOKO_PLATFORM ?= $(or $(wildcard ../mokocli),$(wildcard $(HOME)/mokocli),$(wildcard /opt/mokocli)) MINIFY_SCRIPT := $(MOKO_PLATFORM)/build/minify.js .PHONY: minify diff --git a/README.md b/README.md index 268c8da..542a49d 100644 --- a/README.md +++ b/README.md @@ -77,4 +77,8 @@ This project is licensed under the GNU General Public License v3.0 or later -- s --- -*[Moko Consulting](https://mokoconsulting.tech) -- [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)* +*[Moko Consulting](https://mokoconsulting.tech) -- [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki/Home)* + +## Template CI Notes + +Build/CI/release/version workflows are guarded to skip template repos (Template-*) and only run in repos created from them.