Wrap all CLI tools in cli/, automation/, maintenance/, deploy/, and
release/ in classes extending CliFramework. Replaces manual $argv
parsing with configure()/addArgument(), moves logic into run(): int,
and converts fwrite(STDERR,...) to $this->log(). Two CLIApp subclasses
(generate_dolibarr_version_txt, generate_joomla_update_xml) converted
to extend CliFramework directly.
Every script now gets free --help, --verbose, --quiet, --dry-run,
--json, --no-color, banners, coloured logging, and progress bars.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- release_publish.php: new CLI — publishes release + copies for all
lesser streams, updates all updates.xml streams, syncs to all branches
- updates_xml_build.php: write single channel only (no cascade)
- release_cascade.php: deprecated (no-op)
- updates_xml_sync.php: add --all flag for auto-discovery
- auto-bump.yml: remove alpha/beta/rc triggers, add patch/*
- auto-release.yml: thin CLI wrappers for promote-rc and release jobs
- version_auto_bump.php: all branches get patch bumps, add patch/*
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Renamed secret references across all 14 workflows and 13 CLI tools
- Replaced hardcoded jmiller: auth with x-access-token: pattern
- Consolidated git config + remote set-url into single early step in
auto-release.yml, removed duplicate config blocks
- Renamed local shell variable GA_TOKEN→GITEA_TOKEN for consistency
- No backwards compatibility shims — clean break
Authored-by: Moko Consulting
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>