Commit Graph

171 Commits

Author SHA1 Message Date
Jonathan Miller 79c220fca2 fix(ci): ensure workflows work for all Joomla extension types
- Source dir: add htdocs/ fallback (components may use htdocs/ not src/)
- Manifest search: increase maxdepth to 3, exclude .git/ and build/
  (covers src/admin/com_xxx.xml and similar nested structures)
- Exclude trigger files (.build-trigger, .beta-trigger, .rc-trigger)
  from release packages
- Both release.yml and update-server.yml now consistent

Tested extension types: template, plugin (system), component, module,
library, package — all use the same generic workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:35:40 -05:00
Jonathan Miller 03b941b42c feat(ci): make release.yml fully generic — auto-detect from manifest
- Remove hardcoded GITEA_REPO and EXT_ELEMENT env vars
- GITEA_REPO derived from github.event.repository.name
- EXT_ELEMENT auto-detected from Joomla manifest <element> tag,
  falls back to manifest filename, then repo name
- Workflow is now identical across all Joomla repos — no per-repo
  customization needed. Drop it in .gitea/workflows/ and it works.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:14:28 -05:00
jmiller c929aa1e94 chore: sync updates.xml stable 01.00.30 [skip ci] 2026-04-27 00:08:52 +00:00
gitea-actions[bot] 768d2773be chore: update stable SHA-256 for 01.00.30 [skip ci] 2026-04-27 00:08:51 +00:00
gitea-actions[bot] 5c779c1bfd chore(version): bump 01.00.29 → 01.00.30 [skip ci] 2026-04-27 00:08:45 +00:00
Jonathan Miller 517f76791e feat(ci): stream-based tags + keep 5 version history in stable release
Create Release / Build Release Package (push) Successful in 12s
- Tags are now stream names: stable, development, alpha, beta, rc
- Stable releases preserve last 5 versions in the Gitea release body
  (new version prepended, oldest trimmed)
- Other streams replace the release body entirely (single latest)
- Version derived from README.md, not the tag name

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:08:05 -05:00
Jonathan Miller 05a27210c5 feat(ci): use stream-based tags (stable/development/etc) not versions
Tags are now release stream names: stable, release-candidate, beta,
alpha, development. Version is read from README.md and auto-bumped.
Workflow dispatch also uses stream names as a choice input.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:04:30 -05:00
jmiller c802486210 chore: sync updates.xml stable 01.00.29 [skip ci] 2026-04-27 00:02:52 +00:00
gitea-actions[bot] 74bb01fb21 chore: update stable SHA-256 for 01.00.29 [skip ci] 2026-04-27 00:02:52 +00:00
gitea-actions[bot] c7652deb4d chore(version): bump 01.00.28 → 01.00.29 [skip ci] 2026-04-27 00:02:47 +00:00
Jonathan Miller 1a9e8ed7ef chore: remove .github/workflows — all workflows are in .gitea/
Create Release / Build Release Package (push) Successful in 9s
Gitea Actions only runs from .gitea/workflows/. The .github/ copies
created ghost runs (release events on ubuntu-latest) that blocked
the runner queue. All active workflows are in .gitea/workflows/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:01:12 -05:00
Jonathan Miller e0ec8c4749 chore: prep stable release 01.00.29 [skip ci] 2026-04-26 18:59:20 -05:00
jmiller 366c35a5f3 chore: sync updates.xml from [skip ci] 2026-04-26 23:50:45 +00:00
jmiller a6dc571aac chore: sync updates.xml from [skip ci] 2026-04-26 23:48:29 +00:00
jmiller d9cfea99d5 chore: sync updates.xml stable 01.00.28 [skip ci] 2026-04-26 23:44:59 +00:00
gitea-actions[bot] 5d23920fc2 chore: update stable SHA-256 for 01.00.28 [skip ci] 2026-04-26 23:44:59 +00:00
gitea-actions[bot] 10bc83ba1f chore(version): bump 01.00.27 → 01.00.28 [skip ci] 2026-04-26 23:44:49 +00:00
Jonathan Miller 7a92adeebc feat(ci): add cascade logic to release.yml updates.xml step
Create Release / Build Release Package (push) Successful in 17s
Stable releases now update ALL channels (dev, alpha, beta, rc, stable),
not just the matching one. Follows the same cascade map as
update-server.yml: stable→all, rc→rc+lower, beta→beta+lower, etc.

This ensures Joomla sites at any minimum stability level see the
latest version after a stable release.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:44:04 -05:00
jmiller 75efd50d5a chore: sync updates.xml stable 01.00.27 [skip ci] 2026-04-26 23:40:50 +00:00
gitea-actions[bot] 3e08133fda chore: update stable SHA-256 for 01.00.27 [skip ci] 2026-04-26 23:40:50 +00:00
gitea-actions[bot] 9a3b88f982 chore(version): bump 01.00.26 → 01.00.27 [skip ci] 2026-04-26 23:40:44 +00:00
Jonathan Miller 7af916269d fix(ci): fix exit code bug + skip mirror when GH_TOKEN missing
Create Release / Build Release Package (push) Successful in 10s
- [ "$HTTP_CODE" -ge 400 ] && echo returns exit 1 when HTTP is OK
  (test returns false=1, becomes step exit code). Use if/then instead.
- Skip GitHub mirror step entirely when GH_TOKEN is empty rather than
  running and failing (Gitea marks job failed despite continue-on-error)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:39:28 -05:00
jmiller da62b0702a chore: sync updates.xml stable 01.00.26 [skip ci] 2026-04-26 23:36:49 +00:00
gitea-actions[bot] 7fee6b2454 chore: update stable SHA-256 for 01.00.26 [skip ci] 2026-04-26 23:36:49 +00:00
gitea-actions[bot] f14fedd970 chore(version): bump 01.00.25 → 01.00.26 [skip ci] 2026-04-26 23:36:44 +00:00
Jonathan Miller 3ddbcd7482 fix(ci): rewrite release.yml — fix detached HEAD, add verbose logging
Create Release / Build Release Package (push) Failing after 9s
Key fixes:
- Checkout main directly for tag triggers (ref conditional) instead of
  hacky detached HEAD switching after the fact
- Use git branch --show-current for target_commitish (was github.ref_name
  which returns the tag name, not a branch, on tag triggers)
- All git push uses HEAD:${BRANCH} explicitly
- All curl calls use -sS with HTTP code capture and response logging
- SHA256 tag: add if missing, update if present, never leave empty
- Conditional minify/composer steps (skip if files don't exist)
- Summary step runs on always() for visibility on failures

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:35:34 -05:00
jmiller 730c4efeb7 chore: sync updates.xml stable 01.00.26 [skip ci] 2026-04-26 23:32:39 +00:00
Jonathan Miller fb9ce4f408 fix: remove empty sha256 tags + fix detached HEAD in release workflow
Create Release / Build Release Package (push) Successful in 19s
- Remove empty <sha256></sha256> tags from updates.xml — Joomla fails
  checksum verification when the tag is present but empty. Omitting the
  tag entirely makes Joomla skip checksum validation.
- Fix release.yml detached HEAD on tag checkout — when triggered by a
  version tag, git checks out in detached HEAD state and `git push`
  fails. Now detects this and switches to main before committing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:29:44 -05:00
Jonathan Miller 19fcd0e65b Merge branch 'dev'
Create Release / Build Release Package (push) Failing after 11s
# Conflicts:
#	updates.xml
2026-04-26 18:18:31 -05:00
Jonathan Miller 0624a3ea0a fix(composer): remove duplicate enterprise dep from require
The enterprise package is dev tooling (MokoStandards), not a runtime
dependency. It was listed in both require (with broken dev-version/04
constraint) and require-dev (with correct ^4.0). The duplicate in
require caused release workflow failures since the published package
04.05.00 doesn't match the dev branch constraint.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:18:04 -05:00
jmiller 9ac27851d2 chore: sync updates.xml from [skip ci] 2026-04-26 23:10:40 +00:00
Jonathan Miller ba3e314ace chore: trigger dev build
Update Joomla Update Server XML Feed / Update updates.xml (push) Successful in 12s
2026-04-26 18:09:44 -05:00
Jonathan Miller 5510b48040 ci: copy update-server workflow to .gitea/workflows
Gitea Actions only runs workflows from .gitea/workflows/. The
update-server.yml was only in .github/workflows/ and never triggered
on push to dev. This enables automatic dev/alpha/beta/rc releases.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:07:35 -05:00
Jonathan Miller 6b0236eb1d chore: trigger dev release build 2026-04-26 18:07:08 -05:00
Jonathan Miller 7bbe7434a0 fix(composer): remove broken enterprise constraint + trigger dev release
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 16:26:05 -05:00
Jonathan Miller af55d86bfa chore: add profile.ps1 to .gitignore 2026-04-26 16:05:26 -05:00
Jonathan Miller b957f5d327 chore: add profile.ps1 to .gitignore 2026-04-26 16:02:19 -05:00
Jonathan Miller 44c94cb609 feat: JoomGallery overrides + version sync + workflow creationDate fix
- Add template overrides for com_joomgallery (gallery, category, image)
  with Schema.org markup, Bootstrap 5 styling, and accessibility
- Sync dev branch version to 01.00.25 (match stable) so dev channel
  is visible in Joomla update system (was 01.00.24 < stable 01.00.25)
- Add <creationDate> to auto-release.yml build_entry() and
  update-server.yml NEW_ENTRY builder
- Add creationDate update to .gitea/workflows/release.yml auto-bump step

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 15:55:31 -05:00
jmiller a3a8c9c392 feat(css): extend hero-overlay effects to banner-overlay.custom-hero 2026-04-26 15:54:41 -05:00
gitea-actions[bot] 262cea4b91 chore(version): bump 01.00.19 → 01.00.20 [skip ci] 2026-04-26 18:16:17 +00:00
jmiller fc18f712ca feat(css): extend hero-overlay effects to banner-overlay.custom-hero 2026-04-26 17:46:48 +00:00
Jonathan Miller 5954a0b56b Merge remote-tracking branch 'origin/main' into dev
# Conflicts:
#	README.md
#	src/media/css/template.css
#	src/templateDetails.xml
2026-04-26 12:46:17 -05:00
Jonathan Miller 871c474bb5 feat(css): extend hero-overlay effects to banner-overlay.custom-hero
Apply the same pseudo-element layering (scaled bg image, radial blur
softening, glass-effect overlay panel) to modules using the
banner-overlay.custom-hero class inside container-banner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 11:55:16 -05:00
jmiller 0c6edaaf12 chore: add TODO.md from MokoStandards 2026-04-26 16:35:56 +00:00
jmiller 38caba69a2 chore: add TODO.md from MokoStandards 2026-04-26 16:35:56 +00:00
jmiller f2494de8b9 chore: bump patch version for release pipeline fixes [skip ci] 2026-04-24 00:34:50 +00:00
jmiller d9f241c80a chore: bump patch version for release pipeline fixes [skip ci] 2026-04-24 00:28:14 +00:00
jmiller 8d9653e0c9 chore: add mokoconsulting-tech/enterprise dependency 2026-04-23 23:39:05 +00:00
gitea-actions[bot] 5ff523837f chore: update stable SHA-256 for 01.00.25 [skip ci] 2026-04-23 23:34:25 +00:00
jmiller a3288c0042 chore: sync updates.xml stable 01.00.25 [skip ci] 2026-04-23 23:34:25 +00:00