Compare commits

...

9 Commits

Author SHA1 Message Date
jmiller 51f8fcb480 chore: sync pr-check.yml from Template-Generic [skip ci] 2026-07-06 03:49:00 +00:00
jmiller dfb3ca876b chore: sync issue-branch.yml from Template-Generic [skip ci] 2026-07-06 03:48:59 +00:00
jmiller e2e9f6d33b chore: sync ci-generic.yml from Template-Generic [skip ci] 2026-07-06 03:48:58 +00:00
jmiller 9f0546c1a8 chore: sync auto-release.yml from Template-Generic [skip ci] 2026-07-06 03:48:57 +00:00
jmiller 3167233b7c Merge chore/template-client-name
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 5s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 11s
Universal: PR Check / Validate PR (pull_request) Failing after 15s
Universal: PR Check / Secret Scan (pull_request) Successful in 21s
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m8s
Platform: mokocli CI / Gate 1: Code Quality (pull_request) Successful in 1m51s
Platform: mokocli CI / Gate 1: Code Quality (push) Successful in 1m47s
Generic: Project CI / Tests (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (pull_request) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (pull_request) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (pull_request) Has been cancelled
Platform: mokocli CI / CI Summary (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (push) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: mokocli CI / CI Summary (push) Has been cancelled
2026-07-06 00:13:04 +00:00
jmiller 94e6084e0f fix(client): Template-Client-WaaS -> Template-Client (repo renamed; drop stale redirect dependency)
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 26s
Authored-by: Moko Consulting
2026-07-06 00:13:03 +00:00
jmiller 55a82d7d21 Merge chore/client-mokosuite-prefix
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 3s
Universal: PR Check / Validate PR (pull_request) Failing after 12s
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 16s
Universal: PR Check / Secret Scan (pull_request) Successful in 20s
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m13s
Platform: mokocli CI / Gate 1: Code Quality (push) Successful in 1m59s
Platform: mokocli CI / Gate 1: Code Quality (pull_request) Successful in 2m17s
Generic: Project CI / Tests (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (pull_request) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (pull_request) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (pull_request) Has been cancelled
Platform: mokocli CI / CI Summary (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (push) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: mokocli CI / CI Summary (push) Has been cancelled
2026-07-05 23:56:37 +00:00
jmiller 88acf57278 feat(client): accept client-mokosuite-* prefix (backward-compat with client-waas-)
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 21s
Discovery (client_dashboard, client_inventory) matches BOTH client-waas- and
client-mokosuite-; provisioning emits client-mokosuite-. Enables the live client
repo renames without breaking discovery. Refs Template-Client#59.

Authored-by: Moko Consulting
2026-07-05 23:56:36 +00:00
jmiller ac293fd038 Merge chore/normalize-docs: normalize doc/config refs
Cascade Main -> Dev / Cascade main -> dev (push) Successful in 15s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 1m11s
Universal: PR Check / Secret Scan (pull_request) Successful in 23s
Universal: PR Check / Validate PR (pull_request) Failing after 11s
Platform: mokocli CI / Gate 1: Code Quality (pull_request) Successful in 2m31s
Generic: Project CI / Tests (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (pull_request) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (pull_request) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (pull_request) Has been cancelled
Platform: mokocli CI / CI Summary (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
2026-07-05 22:50:14 +00:00
10 changed files with 20 additions and 19 deletions
+1 -1
View File
@@ -382,7 +382,7 @@ jobs:
content = open('CHANGELOG.md').read()
old = '## [Unreleased]'
new = f'## [Unreleased]\n\n## [{version}] --- {date}'
content = content.replace(old, new, 1)
content = content if ('## [' + version + ']') in content else content.replace(old, new, 1)
open('CHANGELOG.md', 'w').write(content)
" "$VERSION" "$DATE"
git add CHANGELOG.md
+5 -4
View File
@@ -131,10 +131,11 @@ jobs:
test:
name: Tests
runs-on: ubuntu-latest
needs: lint
# Run only when lint succeeded; always() forces evaluation so a skipped
# lint (e.g. template repos) skips this job cleanly instead of hanging.
if: ${{ always() && needs.lint.result == 'success' }}
# Independent job (no `needs: lint`): the Gitea Actions scheduler does not
# offer the dependent 2nd job of a needs-chain to runners, so it stalls in
# "waiting" and is reaped by ABANDONED_JOB_TIMEOUT. Guard template repos
# directly (same condition lint uses) instead of gating on lint's result.
if: ${{ !startsWith(github.event.repository.name, 'Template-') }}
steps:
- name: Checkout
+1 -1
View File
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later
#
# FILE INFORMATION
# DEFGROUP: Gitea.Workflow
# DEFGROUP: MokoGitea.Workflow
# INGROUP: mokocli.Automation
# VERSION: 01.00.00
# BRIEF: Auto-create feature branch when an issue is opened
+1 -1
View File
@@ -210,7 +210,7 @@ jobs:
- name: Check for merge conflict markers
run: |
CONFLICTS=$(grep -rn '<<<<<<< \|>>>>>>> \|^=======$' --include='*.php' --include='*.xml' --include='*.css' --include='*.js' --include='*.json' --include='*.md' --include='*.yml' --include='*.yaml' --include='*.ini' --include='*.txt' . 2>/dev/null | grep -v '.git/' || true)
CONFLICTS=$(grep -rn '<<<<<<< \|>>>>>>> \|^=======$' --exclude-dir='.git' --exclude-dir='.mokogitea' --include='*.php' --include='*.xml' --include='*.css' --include='*.js' --include='*.json' --include='*.md' --include='*.yml' --include='*.yaml' --include='*.ini' --include='*.txt' . 2>/dev/null | grep -v '.git/' || true)
if [ -n "$CONFLICTS" ]; then
echo "::error::Merge conflict markers found in source files"
echo "## Conflict Markers Found" >> $GITHUB_STEP_SUMMARY
+2 -2
View File
@@ -127,7 +127,7 @@ class ClientDashboardCli extends CliFramework
$name = $repo['name'] ?? '';
if (
!str_starts_with($name, 'client-waas-')
!str_starts_with($name, 'client-waas-') && !str_starts_with($name, 'client-mokosuite-')
|| !empty($repo['archived'])
) {
continue;
@@ -135,7 +135,7 @@ class ClientDashboardCli extends CliFramework
$clients[] = [
'repo' => $repo['full_name'] ?? '',
'name' => str_replace('client-waas-', '', $name),
'name' => str_replace(['client-waas-', 'client-mokosuite-'], '', $name),
'description' => $repo['description'] ?? '',
'updated' => $repo['updated_at'] ?? '',
'url' => $repo['html_url'] ?? '',
+1 -1
View File
@@ -79,7 +79,7 @@ class ClientInventoryCli extends CliFramework
foreach ($repos as $repo) {
$repoName = $repo['name'] ?? '';
if (strpos($repoName, 'client-waas') === false) {
if (strpos($repoName, 'client-waas') === false && strpos($repoName, 'client-mokosuite') === false) {
continue;
}
+2 -2
View File
@@ -87,7 +87,7 @@ class ClientProvisionCli extends CliFramework
return 1;
}
$this->repoName = 'client-waas-' . $clientName;
$this->repoName = 'client-mokosuite-' . $clientName;
$this->log('INFO', "=== Client Provisioning: {$clientName} ===");
$this->log('INFO', " Org: {$this->org}");
@@ -156,7 +156,7 @@ class ClientProvisionCli extends CliFramework
$resp = $this->giteaApi(
'POST',
'/api/v1/repos/MokoConsulting/'
. 'Template-Client-WaaS/generate',
. 'Template-Client/generate',
$payload
);
+4 -4
View File
@@ -13,7 +13,7 @@
* REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli
* PATH: /cli/scaffold_client.php
* VERSION: 09.43.00
* BRIEF: Scaffold a new client-waas repo from Template-Client-WaaS with pre-configured settings
* BRIEF: Scaffold a new client-waas repo from Template-Client with pre-configured settings
*/
declare(strict_types=1);
@@ -26,7 +26,7 @@ class ScaffoldClientCli extends CliFramework
{
protected function configure(): void
{
$this->setDescription('Scaffold a new client-waas repo from Template-Client-WaaS');
$this->setDescription('Scaffold a new client-waas repo from Template-Client');
$this->addArgument('--name', 'Client name', '');
$this->addArgument('--org', 'Gitea organization', '');
$this->addArgument('--gitea-url', 'Gitea URL', 'https://git.mokoconsulting.tech');
@@ -47,7 +47,7 @@ class ScaffoldClientCli extends CliFramework
$this->log('INFO', "Scaffolding client repo: {$org}/{$repoName}");
$this->log('INFO', "Gitea URL: {$giteaUrl}");
if ($this->dryRun) {
$this->log('INFO', '[DRY RUN] Would create repo from template MokoConsulting/Template-Client-WaaS');
$this->log('INFO', '[DRY RUN] Would create repo from template MokoConsulting/Template-Client');
$this->log('INFO', "[DRY RUN] Repo: {$org}/{$repoName}");
$this->printPostSetupInstructions($repoName, $giteaUrl, $org);
return 0;
@@ -64,7 +64,7 @@ class ScaffoldClientCli extends CliFramework
]);
$response = $this->apiRequest(
'POST',
"/api/v1/repos/MokoConsulting/Template-Client-WaaS/generate",
"/api/v1/repos/MokoConsulting/Template-Client/generate",
$giteaUrl,
$token,
$createPayload
+2 -2
View File
@@ -934,7 +934,7 @@ class RepositorySynchronizer
'mcp' => 'MokoConsulting/Template-Generic',
'dolibarr' => 'MokoConsulting/Template-Generic',
'crm-module' => 'MokoConsulting/Template-Generic',
'client' => 'MokoConsulting/Template-Client-WaaS',
'client' => 'MokoConsulting/Template-Client',
];
/**
@@ -951,7 +951,7 @@ class RepositorySynchronizer
*/
private const TEMPLATE_SYNC_TARGETS = [
'MokoConsulting/Template-Joomla',
'MokoConsulting/Template-Client-WaaS',
'MokoConsulting/Template-Client',
];
/**
+1 -1
View File
@@ -78,7 +78,7 @@ else
["MokoConsulting/ssh-mcp"]="ssh-mcp"
["MokoConsulting/backup-mcp"]="backup-mcp"
["MokoConsulting/joomla-api-mcp"]="joomla-api-mcp"
["MokoConsulting/Template-Client-WaaS"]="Template-Client-WaaS"
["MokoConsulting/Template-Client"]="Template-Client"
["ClarksvilleFurs/client-waas-clarksvillefurs"]="client-clarksvillefurs"
)
fi