refactor: update sync engine to use new canonical workflow sources

- Replace old .template files with actual workflow YMLs from template repos
- Update RepositorySynchronizer to use new 10/11-workflow standard
- Remove legacy shared workflows (enterprise-firewall, auto-assign, etc.)
- Joomla workflows sourced from MokoStandards-Template-Joomla
- Dolibarr workflows sourced from MokoStandards-Template-Dolibarr

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan Miller
2026-05-02 18:12:35 -05:00
parent 0119834cef
commit a4fbcc0f87
42 changed files with 3335 additions and 5687 deletions
+25 -39
View File
@@ -1047,51 +1047,37 @@ HCL;
$root = rtrim($repoRoot, '/');
$wfDir = $this->adapter->getWorkflowDir();
// Common workflows for ALL platforms
$shared = [
['templates/workflows/shared/enterprise-firewall-setup.yml.template', "{$wfDir}/enterprise-firewall-setup.yml"],
['templates/workflows/shared/sync-version-on-merge.yml.template', "{$wfDir}/sync-version-on-merge.yml"],
['templates/workflows/shared/repository-cleanup.yml.template', "{$wfDir}/repository-cleanup.yml"],
['templates/workflows/shared/auto-dev-issue.yml.template', "{$wfDir}/auto-dev-issue.yml"],
['templates/workflows/shared/branch-freeze.yml.template', "{$wfDir}/branch-freeze.yml"],
['templates/workflows/shared/auto-assign.yml.template', "{$wfDir}/auto-assign.yml"],
['templates/workflows/shared/changelog-validation.yml.template', "{$wfDir}/changelog-validation.yml"],
['templates/workflows/shared/deploy-rs.yml.template', "{$wfDir}/deploy-rs.yml"],
['templates/workflows/shared/export-mysql.yml.template', "{$wfDir}/export-mysql.yml"],
['templates/workflows/shared/pull-from-dev.yml.template', "{$wfDir}/pull-from-dev.yml"],
['.github/workflows/standards-compliance.yml', "{$wfDir}/standards-compliance.yml"],
['templates/workflows/shared/cleanup.yml', "{$wfDir}/cleanup.yml"],
['templates/workflows/shared/notify.yml', "{$wfDir}/notify.yml"],
['templates/workflows/shared/pr-check.yml', "{$wfDir}/pr-check.yml"],
['templates/workflows/shared/pre-release.yml', "{$wfDir}/pre-release.yml"],
['templates/workflows/shared/security-audit.yml', "{$wfDir}/security-audit.yml"],
];
// CodeQL is GitHub-only; on Gitea, Trivy replaces it
if ($this->adapter->getPlatformName() === 'github') {
$shared[] = ['.github/workflows/codeql-analysis.yml', "{$wfDir}/codeql-analysis.yml"];
}
// Platform-specific workflows
if ($platform === 'crm-module') {
$shared[] = ['templates/workflows/shared/deploy-dev.yml.template', "{$wfDir}/deploy-dev.yml"];
$shared[] = ['templates/workflows/shared/deploy-demo.yml.template', "{$wfDir}/deploy-demo.yml"];
$shared[] = ['templates/workflows/dolibarr/auto-release.yml.template', "{$wfDir}/auto-release.yml"];
$shared[] = ['templates/workflows/dolibarr/ci-dolibarr.yml.template', "{$wfDir}/ci-dolibarr.yml"];
$shared[] = ['templates/workflows/dolibarr/publish-to-mokodolimods.yml.template', "{$wfDir}/publish-to-mokodolimods.yml"];
$shared[] = ['templates/workflows/dolibarr/repo_health.yml.template', "{$wfDir}/repo_health.yml"];
} elseif ($platform === 'crm-platform') {
$shared[] = ['templates/workflows/shared/deploy-dev.yml.template', "{$wfDir}/deploy-dev.yml"];
$shared[] = ['templates/workflows/shared/deploy-demo.yml.template', "{$wfDir}/deploy-demo.yml"];
$shared[] = ['templates/workflows/dolibarr/auto-release.yml.template', "{$wfDir}/auto-release.yml"];
$shared[] = ['templates/workflows/dolibarr/ci-dolibarr.yml.template', "{$wfDir}/ci-dolibarr.yml"];
if ($platform === 'crm-module' || $platform === 'crm-platform') {
// Dolibarr: 11 workflows
$shared[] = ['templates/workflows/dolibarr/auto-release.yml', "{$wfDir}/auto-release.yml"];
$shared[] = ['templates/workflows/dolibarr/ci-dolibarr.yml', "{$wfDir}/ci-dolibarr.yml"];
$shared[] = ['templates/workflows/dolibarr/deploy-manual.yml', "{$wfDir}/deploy-manual.yml"];
$shared[] = ['templates/workflows/dolibarr/repo-health.yml', "{$wfDir}/repo-health.yml"];
$shared[] = ['templates/workflows/dolibarr/update-server.yml', "{$wfDir}/update-server.yml"];
$shared[] = ['templates/workflows/dolibarr/publish-to-mokodolimods.yml', "{$wfDir}/publish-to-mokodolimods.yml"];
} elseif ($platform === 'waas-component' || $platform === 'joomla-template') {
$shared[] = ['templates/workflows/shared/deploy-dev.yml.template', "{$wfDir}/deploy-dev.yml"];
$shared[] = ['templates/workflows/shared/deploy-demo.yml.template', "{$wfDir}/deploy-demo.yml"];
$shared[] = ['templates/workflows/joomla/auto-release.yml.template', "{$wfDir}/auto-release.yml"];
$shared[] = ['templates/workflows/joomla/update-server.yml.template', "{$wfDir}/update-server.yml"];
$shared[] = ['templates/workflows/joomla/ci-joomla.yml.template', "{$wfDir}/ci-joomla.yml"];
$shared[] = ['templates/workflows/joomla/repo_health.yml.template', "{$wfDir}/repo_health.yml"];
$shared[] = ['templates/workflows/joomla/deploy-manual.yml.template', "{$wfDir}/deploy-manual.yml"];
$shared[] = ['templates/workflows/joomla/deploy.yml.template', "{$wfDir}/deploy.yml"];
// Joomla: 10 workflows
$shared[] = ['templates/workflows/joomla/auto-release.yml', "{$wfDir}/auto-release.yml"];
$shared[] = ['templates/workflows/joomla/ci-joomla.yml', "{$wfDir}/ci-joomla.yml"];
$shared[] = ['templates/workflows/joomla/deploy-manual.yml', "{$wfDir}/deploy-manual.yml"];
$shared[] = ['templates/workflows/joomla/repo-health.yml', "{$wfDir}/repo-health.yml"];
$shared[] = ['templates/workflows/joomla/update-server.yml', "{$wfDir}/update-server.yml"];
} else {
$shared[] = ['templates/workflows/shared/deploy-dev.yml.template', "{$wfDir}/deploy-dev.yml"];
$shared[] = ['templates/workflows/shared/deploy-demo.yml.template', "{$wfDir}/deploy-demo.yml"];
$shared[] = ['templates/workflows/shared/auto-release.yml.template', "{$wfDir}/auto-release.yml"];
// Generic: 9 workflows (shared only, no platform CI)
$shared[] = ['templates/workflows/joomla/auto-release.yml', "{$wfDir}/auto-release.yml"];
$shared[] = ['templates/workflows/joomla/deploy-manual.yml', "{$wfDir}/deploy-manual.yml"];
$shared[] = ['templates/workflows/joomla/repo-health.yml', "{$wfDir}/repo-health.yml"];
$shared[] = ['templates/workflows/joomla/update-server.yml', "{$wfDir}/update-server.yml"];
}
// CODEOWNERS — GitHub only; Gitea doesn't enforce it