Commit Graph

507 Commits

Author SHA1 Message Date
Jonathan Miller e2cae35bca fix(ci): add ondrej/php PPA for PHP 8.2 on ubuntu-latest runners
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 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 4s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Successful in 4s
Generic: Repo Health / Release configuration (push) Successful in 5s
Generic: Repo Health / Scripts governance (push) Successful in 6s
Generic: Repo Health / Release configuration (pull_request) Successful in 5s
Generic: Repo Health / Scripts governance (pull_request) Successful in 5s
Generic: Repo Health / Repository health (push) Successful in 12s
Generic: Repo Health / Repository health (pull_request) Successful in 10s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 27s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 28s
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Has been skipped
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been skipped
Platform: moko-platform CI / CI Summary (push) Has been cancelled
Platform: moko-platform CI / CI Summary (pull_request) Has been cancelled
The gitea/runner-images:ubuntu-latest image does not ship PHP 8.2
packages in default repos, causing Gate 1 and all downstream gates
to fail with exit code 100. Adding ppa:ondrej/php resolves this.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-24 03:35:29 -05:00
Jonathan Miller f1f907bca0 fix(ci): repair repo-health and code quality gate failures
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 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Successful in 3s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 8s
Generic: Repo Health / Release configuration (push) Successful in 5s
Generic: Repo Health / Scripts governance (push) Successful in 5s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 12s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 13s
Generic: Repo Health / Release configuration (pull_request) Successful in 4s
Generic: Repo Health / Scripts governance (pull_request) Successful in 5s
Generic: Repo Health / Repository health (push) Successful in 11s
Generic: Repo Health / Repository health (pull_request) Successful in 9s
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been skipped
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Has been skipped
Platform: moko-platform CI / CI Summary (push) Has been cancelled
Platform: moko-platform CI / CI Summary (pull_request) Has been cancelled
- repo-health.yml: use .mokogitea/workflows/ instead of .gitea/workflows/
  (moko-platform uses the mokogitea convention)
- phpcs.xml/phpstan.neon: point to actual source dirs (lib/, validate/,
  automation/, cli/) instead of non-existent api/src and api/tests

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-24 03:29:49 -05:00
Jonathan Miller 315bb89836 fix(ci): switch auto-release trigger from pull_request closed to push
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
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 3s
Generic: Repo Health / Release configuration (push) Successful in 3s
Generic: Repo Health / Scripts governance (push) Successful in 4s
Generic: Repo Health / Repository health (push) Failing after 4s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 11s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 4s
Universal: PR Check / Validate PR (pull_request) Successful in 4s
Generic: Repo Health / Release configuration (pull_request) Successful in 4s
Generic: Repo Health / Scripts governance (pull_request) Successful in 3s
Generic: Repo Health / Repository health (pull_request) Failing after 3s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 8s
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been skipped
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Has been skipped
Platform: moko-platform CI / CI Summary (push) Has been cancelled
Platform: moko-platform CI / CI Summary (pull_request) Has been cancelled
Gitea Actions does not reliably fire the pull_request closed event with
paths filters, causing the release pipeline to silently skip on PR merge.
Using push-on-main triggers the workflow from the merge commit directly.

Closes #54

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-24 03:20:57 -05:00
jmiller 73a90616dd Merge pull request 'chore: cascade main → dev (d723475) [skip ci]' (#74) from main into dev
chore: cascade main → dev [skip ci]
2026-05-24 04:42:46 +00:00
Jonathan Miller d723475931 fix: updates_xml_build strips type prefix from element to prevent pkg_pkg_
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
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 3s
Generic: Repo Health / Release configuration (push) Successful in 5s
Generic: Repo Health / Scripts governance (push) Successful in 4s
Generic: Repo Health / Repository health (push) Failing after 4s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 9s
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been skipped
Platform: moko-platform CI / CI Summary (push) Has been cancelled
Same duplication bug as joomla_build.php — uses <packagename> for
packages and strips existing type prefixes before prepending.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:42:38 -05:00
jmiller 0be956e56d Merge pull request 'chore: cascade main → dev (8892ade) [skip ci]' (#73) from main into dev
chore: cascade main → dev [skip ci]
2026-05-24 04:24:51 +00:00
Jonathan Miller 8892ade56a fix: version_set_platform updates sub-package manifests too
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) Successful in 5s
Generic: Repo Health / Release configuration (push) Successful in 4s
Generic: Repo Health / Scripts governance (push) Successful in 4s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 11s
Generic: Repo Health / Repository health (push) Failing after 4s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: moko-platform CI / Gate 4: Governance (push) Has been cancelled
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: moko-platform CI / CI Summary (push) Has been cancelled
Was only globbing src/*.xml, missing src/packages/*/*.xml. Joomla
packages have sub-extension manifests that also need version updates.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:24:44 -05:00
jmiller 77989fe413 Merge pull request 'chore: cascade main → dev (b8a282c) [skip ci]' (#72) from main into dev
chore: cascade main → dev [skip ci]
2026-05-24 04:20:22 +00:00
Jonathan Miller b8a282cdbc fix: prevent pkg_pkg_ duplication in package zip names
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
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 3s
Generic: Repo Health / Release configuration (push) Successful in 4s
Generic: Repo Health / Scripts governance (push) Successful in 5s
Generic: Repo Health / Repository health (push) Failing after 4s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 9s
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been skipped
Platform: moko-platform CI / CI Summary (push) Has been cancelled
parseManifest() was falling back to the filename (pkg_mokowaas.xml →
pkg_mokowaas) as the element, then typePrefix() prepended another pkg_.
Now uses <packagename> for packages and strips existing type prefixes
from the element before prepending.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:20:16 -05:00
jmiller 5ce1dca4f8 Merge pull request 'chore: cascade main → dev (4f48dca) [skip ci]' (#71) from main into dev
chore: cascade main → dev [skip ci]
2026-05-24 04:17:04 +00:00
Jonathan Miller 4f48dcae5c fix(ci): version bump after release + manifest-priority version read
Generic: Repo Health / Site Health (push) Has been skipped
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Successful in 4s
Generic: Repo Health / Scripts governance (push) Successful in 4s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 9s
Generic: Repo Health / Repository health (push) Failing after 4s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: moko-platform CI / Gate 4: Governance (push) Has been cancelled
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: moko-platform CI / CI Summary (push) Has been cancelled
Pre-release workflow now reads current version from manifest (not
bumps before build), builds the release, then bumps for next dev cycle.
version_bump.php and version_read.php check both README.md and manifest
XML, using the higher version as the base.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:17:00 -05:00
jmiller 62f228f95c Merge pull request 'chore: cascade main → dev (c78c242) [skip ci]' (#70) from main into dev
chore: cascade main → dev [skip ci]
2026-05-24 03:48:36 +00:00
jmiller c78c242024 Merge pull request 'feat(ci): client theme CI with CLI validators' (#67) from dev into main
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) Successful in 4s
Generic: Repo Health / Release configuration (push) Successful in 3s
Generic: Repo Health / Scripts governance (push) Successful in 4s
Generic: Repo Health / Repository health (push) Failing after 4s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 9s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: moko-platform CI / Gate 4: Governance (push) Has been cancelled
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: moko-platform CI / CI Summary (push) Has been cancelled
2026-05-24 03:48:31 +00:00
Jonathan Miller d9846b1c01 fix: version_bump/read check manifest XML, use higher version as base
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
Generic: Repo Health / Release configuration (push) Successful in 4s
Generic: Repo Health / Scripts governance (push) Successful in 3s
Generic: Repo Health / Repository health (push) Failing after 4s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 8s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: moko-platform CI / Gate 4: Governance (push) Has been cancelled
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: moko-platform CI / CI Summary (push) Has been cancelled
Previously version_bump.php only read from README.md VERSION header,
ignoring the actual manifest XML version. When a version was manually
bumped in the manifest (e.g. 02.03.00) but README still showed an
older version (02.01.45), the CLI would bump from README's version
instead, producing wrong release numbers.

Now both tools check README.md AND Joomla manifest XML files
(pkg_*.xml, src/*.xml, packages/*/*.xml) and use whichever version
is higher as the base for bumping/reading.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 22:48:11 -05:00
jmiller f3ba340c46 Merge pull request 'feat(cli): add 4 release pipeline CLI tools' (#69) from feature/cli-release-tools 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
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
Generic: Repo Health / Release configuration (push) Successful in 4s
Generic: Repo Health / Scripts governance (push) Successful in 4s
Generic: Repo Health / Repository health (push) Failing after 4s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 9s
Platform: moko-platform CI / Gate 5: Template Integrity (push) Has been skipped
Platform: moko-platform CI / CI Summary (push) Has been cancelled
feat(cli): add 4 release pipeline CLI tools (#69)
2026-05-24 03:47:32 +00:00
Jonathan Miller 14de7dbe19 feat(cli): add 4 release pipeline CLI tools
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Successful in 4s
Generic: Repo Health / Scripts governance (push) Successful in 4s
Generic: Repo Health / Repository health (push) Failing after 5s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Successful in 4s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 10s
Generic: Repo Health / Release configuration (pull_request) Successful in 4s
Generic: Repo Health / Repository health (pull_request) Failing after 4s
Generic: Repo Health / Scripts governance (pull_request) Successful in 5s
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Has been skipped
Platform: moko-platform CI / CI Summary (pull_request) Has been cancelled
- release_verify.php: Post-release artifact verification (ZIP integrity,
  manifest version, SHA256 vs updates.xml, disallowed files check)
- release_validate.php: Pre-release sanity checks (version consistency
  across README, CHANGELOG, manifest, updates.xml, composer.json)
- release_body_update.php: Update Gitea release body with changelog
  extract and checksums table via API
- dev_branch_reset.php: Delete and recreate dev branch from main via
  Gitea API

Resolves: #56, #60, #62, #64

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 22:37:37 -05:00
Jonathan Miller 464ebb1a25 feat(validate): add check_client_theme.php for WaaS file packages
New validator for client theme packages (Joomla type="file"):
- Manifest: required elements, type="file", method="upgrade", version format
- Required files: light.custom.css, dark.custom.css
- PHP syntax check on script.php
- CSS brace balance + BOM detection
- Version consistency (manifest vs updates.xml vs CHANGELOG)
- Image size warnings (>1MB)

Also update auto_detect_platform.php to recognise type="file"
manifests as client repos alongside legacy sftp-config detection.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 18:11:02 -05:00
jmiller 05f04a0a31 Merge pull request 'chore: cascade main → dev (492f1cb) [skip ci]' (#55) from main into dev
chore: cascade main → dev [skip ci]
2026-05-23 20:43:45 +00:00
Jonathan Miller 492f1cbb80 fix: version_set_platform.php reads manifest.xml + supports joomla platform
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
- Added .mokogitea/manifest.xml XML lookup (new format)
- Added .mokogitea/.mokostandards fallback (legacy)
- Platform 'joomla' now handled alongside 'waas-component'

This was the root cause of manifest version not updating during releases.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 15:43:42 -05:00
Jonathan Miller a4eed1c1bb fix(ci): add missing branch output to auto-release version step
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 1s
Step 2 (Version archive branch) failed because steps.version.outputs.branch
was empty. Added branch=version/MAJOR to Step 1 outputs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 14:44:44 -05:00
jmiller e618bedd2d Merge pull request 'chore: cascade main → dev (008cdeb) [skip ci]' (#51) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 03:33:45 +00:00
Jonathan Miller 008cdeb996 fix: updates_xml_build.php uses 'development' tag, not 'dev'
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 3s
The release tag is 'development' but the CLI was generating download
URLs with tag 'dev', causing Joomla update downloads to 404.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 22:33:40 -05:00
jmiller 5f3b0d9980 Merge pull request 'chore: cascade main → dev (3e20003) [skip ci]' (#50) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 03:28:34 +00:00
Jonathan Miller 3e20003d18 fix(ci): add php-curl to pre-release Setup PHP step
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
updates_xml_sync.php requires cURL extension.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 22:28:26 -05:00
jmiller 32ef515d51 Merge pull request 'chore: cascade main → dev (0aa1136) [skip ci]' (#49) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 03:25:07 +00:00
Jonathan Miller 0aa113652f fix(ci): continue-on-error for release upload + CLI for updates.xml
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
- Add continue-on-error to Create Release step so upload failures
  don't kill the entire job
- Replace inline Python updates.xml builder with updates_xml_build.php CLI
- Ensures Sync updates.xml step always runs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 22:24:59 -05:00
Jonathan Miller 41c5043352 fix(ci): use build step zip_name/zip_path for upload [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 22:18:55 -05:00
jmiller e5784c0e1d Merge pull request 'chore: cascade main → dev (ff3e4e3) [skip ci]' (#48) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 03:18:22 +00:00
Jonathan Miller ff3e4e323a fix(cli): support global Composer installs for bin/moko
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
Check $GLOBALS['_composer_autoload_path'] before falling back to
project-local vendor/autoload.php, allowing the CLI to work when
installed via composer global require.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-22 03:18:17 +00:00
Jonathan Miller 05eb26c811 fix(ci): remove control char from pre-release.yml sed pattern [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 22:13:44 -05:00
jmiller 3f3e4e2aaa Merge pull request 'chore: cascade main → dev (02d2e55) [skip ci]' (#47) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 02:55:25 +00:00
jmiller 02d2e55954 refactor(ci): auto-release uses CLI tools (#45) (#46)
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 3s
2026-05-22 02:55:22 +00:00
Jonathan Miller 9b456da7e5 refactor(ci): auto-release uses CLI tools for 6 major steps (#45)
Replace inline bash with moko-platform CLI calls:
- manifest_read.php for platform detection
- version_read.php + version_bump.php for version management
- badge_update.php for README badges
- updates_xml_build.php for Joomla update stream
- release_cascade.php for pre-release cleanup

Reduces auto-release.yml from 1006 to 762 lines (-244).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 21:54:51 -05:00
jmiller 60e53d5e6e Merge pull request 'chore: cascade main → dev (12d27e7) [skip ci]' (#42) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 02:48:49 +00:00
jmiller 12d27e70c2 refactor(ci): pre-release uses CLI tools for detect/version/build (#41)
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
2026-05-22 02:48:44 +00:00
Jonathan Miller 3c11006aae refactor(ci): pre-release uses CLI tools for detect/version/build
Replace inline bash with moko-platform CLI calls:
- manifest_read.php --github-output for platform detection
- version_bump.php for patch version increment
- version_set_platform.php for manifest version update
- joomla_build.php for type-aware package building
- updates_xml_sync.php for cross-branch sync

Reduces inline bash from ~160 lines to ~85 lines.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 21:48:12 -05:00
jmiller 4b9a682e53 Merge pull request 'chore: cascade main → dev (89007ab) [skip ci]' (#40) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 02:39:22 +00:00
jmiller 89007ab9ba feat(cli): updates_xml_sync.php replaces inline workflow sync (#39)
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
2026-05-22 02:39:17 +00:00
Jonathan Miller 4dfbcf4fd2 feat(cli): add updates_xml_sync.php — replaces inline workflow sync (#34)
New CLI tool syncs updates.xml to target branches via Gitea API.
Pre-release workflow now calls the CLI instead of inline bash.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 21:38:54 -05:00
Jonathan Miller c6da98289b chore: rename MokoStandards to moko-platform in CLI headers
Update DEFGROUP and INGROUP fields across all CLI scripts
to reflect the repo rename from MokoStandards to moko-platform.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 21:35:29 -05:00
jmiller b7a07d2e08 Merge pull request 'chore: cascade main → dev (93b2e87) [skip ci]' (#38) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 02:35:05 +00:00
jmiller 93b2e87c38 fix(ci): sync updates.xml via API instead of git checkout (#34) (#37)
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
2026-05-22 02:35:01 +00:00
Jonathan Miller 03801ff925 fix(ci): sync updates.xml via API instead of git checkout (#34)
The git checkout approach fails when dev and main have diverged.
Use Gitea Contents API (PUT) to update updates.xml on target branches
directly, matching the pattern already used in auto-release.yml.

Fixes #34

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 21:34:18 -05:00
jmiller 7f9c3f2ab0 Merge pull request 'chore: cascade main → dev (5b9d258) [skip ci]' (#36) from main into dev
chore: cascade main → dev [skip ci]
2026-05-22 02:28:23 +00:00
jmiller 5b9d258135 feat(cli): add release automation CLI scripts (#35)
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
feat(cli): add release automation CLI scripts

Add 6 new CLI scripts replacing inline bash in CI workflows.
Update version_set_platform.php with --stability flag.
2026-05-22 02:28:17 +00:00
Jonathan Miller 3d1af376a0 feat(cli): add release automation CLI scripts
New CLI scripts to replace inline bash in CI workflows:
- changelog_promote.php: promote [Unreleased] to versioned entry
- badge_update.php: update [VERSION: XX.XX.XX] in markdown files
- updates_xml_build.php: generate Joomla updates.xml with stability suffixes
- package_build.php: build ZIP/tar.gz install packages
- release_manage.php: create/update/delete Gitea releases + upload assets
- release_cascade.php: delete lesser pre-release channels

Updated version_set_platform.php with --stability flag to append
-dev/-alpha/-beta/-rc suffixes to non-stable versions.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 21:25:35 -05:00
jmiller ab51b15dfb Merge pull request 'chore: cascade main → dev (a706a2c) [skip ci]' (#33) from main into dev
chore: cascade main → dev [skip ci]
2026-05-21 22:19:55 +00:00
jmiller a706a2cc32 refactor: MokoGiteaAdapter + manifest.xml primary lookup (#32)
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
2026-05-21 22:19:49 +00:00
Jonathan Miller d37b547e87 refactor: manifest_read.php uses manifest.xml as primary lookup
Priority order: manifest.xml > .manifest.xml (legacy) > .moko-platform (v4)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 17:18:03 -05:00
jmiller c33106de1c Merge pull request 'chore: cascade main → dev (46d9af0) [skip ci]' (#31) from main into dev
chore: cascade main → dev [skip ci]
2026-05-21 22:15:57 +00:00