Jonathan Miller f57b32dd12 feat(workflows): add Joomla package type support to release pipelines
Both pre-release.yml and auto-release.yml now handle type="package"
extensions that contain multiple sub-extensions in src/packages/.

Changes:
- Detect package type from manifest and build sub-extension ZIPs
- Package-aware manifest discovery (prioritize pkg_*.xml over
  sub-extension manifests in src/packages/)
- Version bump cascades to all sub-extension manifests
- Build step: ZIP each sub-extension individually, then wrap with
  package manifest into final pkg_*.zip

Package ZIP structure:
  pkg_name.zip
  ├── pkg_name.xml
  ├── script.php
  ├── com_name.zip
  ├── mod_name_foo.zip
  └── mod_name_bar.zip

Standard extensions (component, module, plugin, template) unchanged.

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 15:51:51 -05:00

MokoStandards-Template-Joomla

Unified scaffolding templates for all Joomla extension types.

Structure

.gitea/workflows/     ← Standard 10-workflow CI/CD suite
types/
  plugin/             ← Joomla plugin scaffold
  template/           ← Joomla site template scaffold (full src/)
  module/             ← Joomla module scaffold
  component/          ← Joomla component scaffold
  package/            ← Joomla package scaffold
  library/            ← Joomla library scaffold

Usage

  1. Create a new repo from this template (or clone manually)
  2. Copy the relevant types/<type>/ content to your project root
  3. Customize the manifest XML, namespace, and source files
  4. Workflows are already configured — push to trigger CI

Shared Files

The root contains files shared by all extension types:

  • .gitea/workflows/ — CI/CD (auto-release, ci-joomla, pr-check, etc.)
  • .editorconfig, .gitignore, .gitattributes — editor/git config
  • composer.json, phpstan.neon, Makefile — build tooling
  • updates.xml — Joomla update server manifest template
  • LICENSE, SECURITY.md, CONTRIBUTING.md — standard docs

Workflow Suite (10 workflows)

Workflow Purpose
auto-release.yml Stable release on PR merge to main
pre-release.yml Manual dev/alpha/beta/rc builds
ci-joomla.yml PHP lint, PHPStan, coding standards
pr-check.yml PR gate: manifest + build validation
deploy-manual.yml Manual SFTP deploy
repo-health.yml Structure compliance checks
update-server.yml updates.xml validation
security-audit.yml Dependency vulnerability scanning
notify.yml ntfy notifications
cleanup.yml Merged branch + old run cleanup

Version Policy

  • Stable (PR merge to main): Minor bump (03.00.07 -> 03.01.00)
  • Pre-release (manual): Patch bump (03.00.07 -> 03.00.08)

Release Cascade

Higher releases auto-delete lower pre-release channels:

  • stable -> all | rc -> beta,alpha,dev | beta -> alpha,dev | alpha -> dev

Platform Type

.mokostandards platform: joomla-template or waas-component

Canonical Source

This repo is the single source of truth for Joomla workflows and scaffolding. Sync to production repos by copying .gitea/workflows/ from here.

License

GPL-3.0-or-later - Moko Consulting

S
Description
Unified Joomla extension scaffolding templates — plugin, template, module, component, package, library
Readme GPL-3.0
552 KiB
Languages
Markdown 48.7%
CSS 15.1%
PHP 12.3%
XML 11.3%
Makefile 7.8%
Other 4.8%