Merge pull request 'fix: separate ZIPs per stream, patch?rc support' (#212) from dev into main
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: Cascade Main → Dev / Cascade main → branches (push) Failing after 3s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 1m12s

This commit was merged in pull request #212.
This commit is contained in:
2026-05-30 05:58:35 +00:00
2 changed files with 24 additions and 5 deletions
+1
View File
@@ -16,6 +16,7 @@ on:
push:
branches:
- dev
- rc
- 'feature/**'
- 'patch/**'
+23 -5
View File
@@ -187,17 +187,25 @@ if (!$dryRun) {
echo "[DRY-RUN] Would build and upload {$releaseVersion} to {$releaseTag}\n";
}
// -- Step 4: Create copies for all lesser stability streams --
echo "\n--- Step 4: Create copies for lesser streams ---\n";
// -- Step 4: Build separate packages for all lesser stability streams --
// Each stream gets its own ZIP with the correct version INSIDE templateDetails.xml.
// Joomla reads version from the ZIP after install, so it must match.
echo "\n--- Step 4: Build packages for lesser streams ---\n";
for ($i = 0; $i < $stabilityIndex; $i++) {
$lesserStability = $allStabilities[$i];
$lesserTag = $releaseTagMap[$lesserStability];
$lesserVersion = $baseVersion . $suffixMap[$lesserStability];
echo " Creating {$lesserStability} release: {$lesserVersion}\n";
echo " Building {$lesserStability} release: {$lesserVersion}\n";
if (!$dryRun) {
// Create or update the lesser release with the same package
// Set version to lesser stream's suffixed version in source files
passthru("{$php} {$cli}/version_set_platform.php --path " . escapeshellarg($path)
. " --version " . escapeshellarg($baseVersion)
. " --branch " . escapeshellarg($lesserStability)
. " --stability " . escapeshellarg($lesserStability) . " 2>/dev/null");
// Create release tag
passthru("{$php} {$cli}/release_create.php --path " . escapeshellarg($path)
. " --version " . escapeshellarg($lesserVersion)
. " --tag " . escapeshellarg($lesserTag)
@@ -206,7 +214,7 @@ for ($i = 0; $i < $stabilityIndex; $i++) {
. " --repo " . escapeshellarg($repo)
. " --branch " . escapeshellarg($branch) . " 2>&1");
// Upload the same package to the lesser release
// Build and upload package (ZIP will contain the lesser version)
passthru("{$php} {$cli}/release_package.php --path " . escapeshellarg($path)
. " --version " . escapeshellarg($lesserVersion)
. " --tag " . escapeshellarg($lesserTag)
@@ -214,9 +222,19 @@ for ($i = 0; $i < $stabilityIndex; $i++) {
. " --api-base " . escapeshellarg($apiBase)
. " --repo " . escapeshellarg($repo)
. " --output /tmp 2>&1");
} else {
echo " [DRY-RUN] Would build {$lesserVersion} ZIP and upload to {$lesserTag}\n";
}
}
// Restore primary release version in source files
if (!$dryRun && $stabilityIndex > 0) {
passthru("{$php} {$cli}/version_set_platform.php --path " . escapeshellarg($path)
. " --version " . escapeshellarg($baseVersion)
. " --branch " . escapeshellarg($branch)
. " --stability " . escapeshellarg($stability) . " 2>/dev/null");
}
// -- Step 5: Update ALL streams in updates.xml --
echo "\n--- Step 5: Update updates.xml for ALL streams ---\n";
// Write entry for the primary stream and all lesser streams