Public Access
feat: cascade release zip to all lower stability channels #280
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Channel hierarchy: stable > rc > beta > alpha > dev
When a higher channel releases, lower channels still serve their old zip. A site on the dev channel never receives the rc build even though it is newer and should be available to all lower channels.
Expected Behavior
When a release is published, the same zip file should be attached to all lower channel release tags:
The lower channel releases should have their assets replaced with the higher channel zip (same file, same SHA-256). The updates.xml feed for each channel should reflect the new version so Joomla updater picks it up.
Current Behavior
release_cascade.php deletes lesser pre-release tags but does not re-upload the artifact to them. Lower channels go stale until their own build triggers independently.
Suggested Fix
In release_cascade.php (or a new release_propagate.php):
This ensures every channel always serves the latest available build from its level or above.
Branch created:
feature/280-feat-cascade-release-zip-to-all-lower-stAdditional Constraint: Protected Branches
All channel branches (main, rc, beta, alpha, dev) are protected -- direct pushes are not allowed. The cascade must work within this constraint:
Implemented in
cli/release_cascade.php— pushed to main.How it works:
--stability(the channel that just released),--token,--api-baseCLI interface unchanged — same
--stability,--token,--api-baseargs as before, so no workflow changes required. The pre-release workflow's cascade step just works now instead of being a no-op.