fix(updateserver): pick installable package zip, not source archive (prod hotfix) #844

Merged
jmiller merged 1 commits from hotfix/joomla-artifact-selection into main 2026-07-20 11:53:30 +00:00
Owner

Hotfix to production. Cherry-pick of the Joomla update-feed artifact-selection fix (already on dev as #843) onto main so the live update server stops advertising the source archive.

The feed took the first .zip on a release; prerelease/dev releases carry <repo>-<channel>-source.zip before pkg_*.zip, so Joomla downloaded the source archive and failed with Install path does not exist. selectJoomlaArtifact() now prefers an extension-prefixed, non-source package. Surgical cherry-pick only -- none of the other dev work is included.

**Hotfix to production.** Cherry-pick of the Joomla update-feed artifact-selection fix (already on `dev` as #843) onto `main` so the live update server stops advertising the source archive. The feed took the first `.zip` on a release; prerelease/dev releases carry `<repo>-<channel>-source.zip` before `pkg_*.zip`, so Joomla downloaded the source archive and failed with **Install path does not exist**. `selectJoomlaArtifact()` now prefers an extension-prefixed, non-source package. Surgical cherry-pick only -- none of the other dev work is included.
jmiller added 1 commit 2026-07-20 11:53:05 +00:00
fix(updateserver): pick installable package zip, not the source archive
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 1m5s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Failing after 1m8s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Project CI / Lint & Validate (pull_request) Successful in 34s
Universal: PR Check / Wiki Update Reminder (pull_request) Successful in 1s
Generic: Project CI / Tests (pull_request) Successful in 22s
Universal: PR Check / Validate PR (pull_request) Successful in 7s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Standards Compliance / Secret Scanning (pull_request) Failing after 8s
Universal: PR Check / Require Docs Update (pull_request) Failing after 35s
Generic: Standards Compliance / License Header Validation (pull_request) Successful in 7s
Generic: Standards Compliance / Repository Structure Validation (pull_request) Successful in 13s
Generic: Standards Compliance / Coding Standards Check (pull_request) Successful in 18s
Generic: Standards Compliance / Workflow Configuration Check (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 54s
Generic: Standards Compliance / Documentation Quality Check (pull_request) Successful in 6s
Generic: Standards Compliance / README Completeness Check (pull_request) Failing after 7s
Generic: Standards Compliance / Script Integrity Validation (pull_request) Successful in 8s
Generic: Standards Compliance / Line Length Check (pull_request) Successful in 14s
Generic: Standards Compliance / Version Consistency Check (pull_request) Successful in 49s
Generic: Standards Compliance / File Naming Standards (pull_request) Successful in 9s
Generic: Standards Compliance / Git Repository Hygiene (pull_request) Successful in 45s
Generic: Standards Compliance / Insecure Code Pattern Detection (pull_request) Successful in 15s
Generic: Standards Compliance / Code Duplication Detection (pull_request) Successful in 47s
Generic: Standards Compliance / Code Complexity Analysis (pull_request) Successful in 1m15s
Generic: Standards Compliance / Dead Code Detection (pull_request) Successful in 25s
Generic: Standards Compliance / File Size Limits (pull_request) Successful in 20s
Generic: Standards Compliance / TODO/FIXME Tracking (pull_request) Successful in 21s
Generic: Standards Compliance / Dependency Vulnerability Scanning (pull_request) Successful in 1m6s
Generic: Standards Compliance / Unused Dependencies Check (pull_request) Successful in 49s
Generic: Standards Compliance / Broken Link Detection (pull_request) Successful in 8s
Generic: Standards Compliance / API Documentation Coverage (pull_request) Successful in 6s
Generic: Standards Compliance / Accessibility Check (pull_request) Successful in 6s
Generic: Standards Compliance / Performance Metrics (pull_request) Successful in 6s
Generic: Standards Compliance / Binary File Detection (pull_request) Successful in 2m3s
Generic: Standards Compliance / Terraform Configuration Validation (pull_request) Successful in 13s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Generic: Standards Compliance / Enterprise Readiness Check (pull_request) Successful in 53s
Generic: Standards Compliance / Repository Health Check (pull_request) Successful in 51s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Generic: Standards Compliance / Compliance Summary (pull_request) Has been cancelled
457a53f987
The Joomla update feed took the FIRST .zip attachment on a release as the
download URL. Releases that carry extra zips (e.g. <repo>-<channel>-source.zip
alongside pkg_*.zip) then advertised the raw SOURCE archive, so Joomla
downloaded a non-installable zip and failed with "Install path does not exist"
(affected prerelease/dev channels; stable had a single pkg_ zip so was fine).

Add selectJoomlaArtifact(): prefer an extension-prefixed zip
(pkg_/com_/mod_/plg_/tpl_/lib_) that is not a "-source" archive, then any
non-source zip, then any zip.

Authored-by: Moko Consulting
jmiller merged commit f6b43492e9 into main 2026-07-20 11:53:30 +00:00
jmiller deleted branch hotfix/joomla-artifact-selection 2026-07-20 11:53:31 +00:00
Author
Owner

Wiki reminder: docs are wiki-first -- if this PR changes behavior, usage, config, or standards, please update the repo wiki before/after merge. (non-blocking)

<!-- wiki-reminder --> **Wiki reminder:** docs are wiki-first -- if this PR changes behavior, usage, config, or standards, please update the repo wiki before/after merge. _(non-blocking)_
Sign in to join this conversation.