refactor(ci): auto-release uses CLI tools (#45) #46

Merged
jmiller merged 22 commits from dev into main 2026-05-22 02:55:22 +00:00
Owner

Replaces 270 lines of inline bash with CLI calls. Closes #45.

Replaces 270 lines of inline bash with CLI calls. Closes #45.
jmiller added 22 commits 2026-05-22 02:55:16 +00:00
- Add || true to all find|grep|head pipelines to prevent grep exit-code 1
  from killing steps under bash -e -o pipefail
- Replace rsync with cp -a in pre-release Build Package step since rsync
  is not always available in runner containers (exit 127)

Fixes #20, Fixes #21

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
chore: cascade main → dev [skip ci]
Bulk rename across all workflows, issue templates, and configs:
- Clone URL: MokoStandards-API.git → moko-platform.git
- Local path: /tmp/mokostandards-api → /tmp/moko-platform-api
- DEFGROUP/INGROUP: MokoStandards.* → moko-platform.*
- Step names and comments updated
- REPO URLs updated to MokoConsulting/moko-platform

EXCLUDE lists retain old repo names for backward compatibility
during migration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
chore: cascade main → dev [skip ci]
Add cli/joomla_build.php — standalone build tool that detects all
Joomla extension types from the XML manifest and builds accordingly:
  - plugin, module, component, template, library, file: flat ZIP
  - package: nested ZIPs for each sub-extension in packages/

Update both workflows to call joomla_build.php via the moko-platform
PHP API instead of inlining bash build logic.

Also extends joomla_release.php with:
  - typePrefix() for correct naming (plg_, mod_, com_, tpl_, pkg_, lib_)
  - buildPackageZip() for multi-extension package assembly
  - copyDir() helper

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
chore: cascade main → dev [skip ci]
Update GiteaAdapter.getWorkflowDir() and getMetadataDir() to return
.mokogitea paths. All 24 PHP files referencing .gitea/ updated.
Bulk sync will now push workflows to .mokogitea/workflows/ in
governed repos.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
chore: cascade main → dev [skip ci]
Rename class, file, and all references across the codebase to align
with the moko-platform naming convention.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
chore: cascade main → dev [skip ci]
Priority order: manifest.xml > .manifest.xml (legacy) > .moko-platform (v4)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
chore: cascade main → dev [skip ci]
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>
chore: cascade main → dev [skip ci]
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>
chore: cascade main → dev [skip ci]
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>
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>
chore: cascade main → dev [skip ci]
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>
chore: cascade main → dev [skip ci]
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>
jmiller merged commit 02d2e55954 into main 2026-05-22 02:55:22 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/moko-platform#46