feat: add deploy target to Makefile #45

Merged
jmiller merged 5 commits from dev into main 2026-05-30 21:40:51 +00:00
15 changed files with 73 additions and 29 deletions
+1 -1
View File
@@ -9,7 +9,7 @@
<name>MokoJoomHero</name>
<org>MokoConsulting</org>
<description>A Joomla Module designed to provide a random image from a folder with content on top as a Hero.</description>
<version>01.04.00</version>
<version>01.04.01</version>
<license spdx="GPL-3.0-or-later">GNU General Public License v3</license>
</identity>
<governance>
+1 -1
View File
@@ -5,7 +5,7 @@
# FILE INFORMATION
# DEFGROUP: Gitea.Workflow
# INGROUP: moko-platform.Automation
# VERSION: 01.04.00
# VERSION: 01.04.01
# BRIEF: Auto-create feature branch when an issue is opened
name: "Universal: Issue Branch"
+1 -1
View File
@@ -14,7 +14,7 @@
DEFGROUP:
INGROUP: Project.Documentation
REPO:
VERSION: 01.04.00
VERSION: 01.04.01
PATH: ./CODE_OF_CONDUCT.md
BRIEF: Reference + packaging repo for Moko Consulting Developer GPT Other Default
-->
+1 -1
View File
@@ -15,7 +15,7 @@
DEFGROUP: {{DEFGROUP}}
INGROUP: Project.Documentation
REPO: https://github.com/mokoconsulting-tech/MokoJoomHero
VERSION: 01.04.00
VERSION: 01.04.01
PATH: ./CONTRIBUTING.md
BRIEF: How to contribute; branch strategy, commit conventions, PR workflow, and release pipeline
-->
+44
View File
@@ -325,6 +325,50 @@ security-check: ## Run security checks on dependencies
$(NPM) audit || echo "$(COLOR_YELLOW)⚠ Vulnerabilities found$(COLOR_RESET)"; \
fi
.PHONY: deploy
deploy: ## Deploy to a Joomla site via SSH (usage: make deploy HOST=user@host WEBROOT=/path/to/joomla)
@if [ -z "$(HOST)" ] || [ -z "$(WEBROOT)" ]; then \
echo "$(COLOR_RED)✗ Usage: make deploy HOST=user@host WEBROOT=/path/to/joomla [KEY=~/.ssh/id_rsa]$(COLOR_RESET)"; \
exit 1; \
fi
@SSH_OPTS="-o StrictHostKeyChecking=no -o ConnectTimeout=10"; \
if [ -n "$(KEY)" ]; then SSH_OPTS="$$SSH_OPTS -i $(KEY)"; fi; \
echo "$(COLOR_BLUE)Deploying mod_$(EXTENSION_NAME) to $(HOST):$(WEBROOT)...$(COLOR_RESET)"; \
ssh $$SSH_OPTS $(HOST) "\
W=$(WEBROOT) && \
cp -r \$$W/modules/mod_$(EXTENSION_NAME)/language/en-US/* /dev/null 2>&1; \
true" && \
for f in src/mod_mokojoomhero.php src/mod_mokojoomhero.xml src/script.php; do \
scp $$SSH_OPTS $$f $(HOST):$(WEBROOT)/modules/mod_$(EXTENSION_NAME)/$$(basename $$f); \
done && \
scp -r $$SSH_OPTS src/tmpl/* $(HOST):$(WEBROOT)/modules/mod_$(EXTENSION_NAME)/tmpl/ && \
scp -r $$SSH_OPTS src/language/* $(HOST):$(WEBROOT)/modules/mod_$(EXTENSION_NAME)/language/ && \
scp $$SSH_OPTS src/media/joomla.asset.json $(HOST):$(WEBROOT)/media/mod_$(EXTENSION_NAME)/ && \
scp -r $$SSH_OPTS src/media/css/* $(HOST):$(WEBROOT)/media/mod_$(EXTENSION_NAME)/css/ && \
scp -r $$SSH_OPTS src/media/js/* $(HOST):$(WEBROOT)/media/mod_$(EXTENSION_NAME)/js/ && \
ssh $$SSH_OPTS $(HOST) "\
W=$(WEBROOT) && \
mkdir -p \$$W/images/heroes && \
for lang in en-US en-GB; do \
for ini in mod_mokojoomhero.ini mod_mokojoomhero.sys.ini; do \
src=\$$W/modules/mod_$(EXTENSION_NAME)/language/\$$lang/\$$ini; \
if [ -f \$$src ]; then \
cp \$$src \$$W/administrator/language/\$$lang/\$$ini 2>/dev/null; \
cp \$$src \$$W/language/\$$lang/\$$ini 2>/dev/null; \
fi; \
done; \
done && \
echo 'OK'" && \
echo "$(COLOR_GREEN)✓ Deployed to $(HOST)$(COLOR_RESET)"
.PHONY: deploy-all
deploy-all: ## Deploy to all configured sites (requires SITES_FILE or inline)
@echo "$(COLOR_BLUE)Deploying to all sites...$(COLOR_RESET)"
@echo "$(COLOR_YELLOW)Usage: Create a sites.conf with HOST:WEBROOT per line, then:$(COLOR_RESET)"
@echo " while IFS=: read -r host webroot; do"
@echo " make deploy HOST=\$$host WEBROOT=\$$webroot KEY=path/to/key"
@echo " done < sites.conf"
.PHONY: all
all: install-deps validate test build ## Run complete build pipeline
@echo "$(COLOR_GREEN)✓ Complete build pipeline finished$(COLOR_RESET)"
+1 -1
View File
@@ -7,7 +7,7 @@
# FILE INFORMATION
REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero
FILE: ./README.md
VERSION: 01.04.00
VERSION: 01.04.01
BRIEF: MokoJoomHero - Joomla Module
-->
+1 -1
View File
@@ -23,7 +23,7 @@ DEFGROUP: [PROJECT_NAME]
INGROUP: [PROJECT_NAME].Documentation
REPO: [REPOSITORY_URL]
PATH: /SECURITY.md
VERSION: 01.04.00
VERSION: 01.04.01
BRIEF: Security vulnerability reporting and handling policy
-->
+1 -1
View File
@@ -6,7 +6,7 @@
; INGROUP: MokoJoomHero.Module
; REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero
; PATH: /src/language/en-GB/mod_mokojoomhero.ini
; VERSION: 01.04.00
; VERSION: 01.04.01
; BRIEF: Language strings for MokoJoomHero module (frontend + admin form fields)
MOD_MOKOJOOMHERO_NO_CONTENT="Add content to this module to display it over the hero image."
+1 -1
View File
@@ -6,7 +6,7 @@
; INGROUP: MokoJoomHero.Module
; REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero
; PATH: /src/language/en-GB/mod_mokojoomhero.sys.ini
; VERSION: 01.04.00
; VERSION: 01.04.01
; BRIEF: System language strings — used in admin Extension Manager and Module Manager
MOD_MOKOJOOMHERO="Module - MokoJoomHero"
+1 -1
View File
@@ -6,7 +6,7 @@
; INGROUP: MokoJoomHero.Module
; REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero
; PATH: /src/language/en-US/mod_mokojoomhero.ini
; VERSION: 01.04.00
; VERSION: 01.04.01
; BRIEF: Language strings for MokoJoomHero module (en-US, frontend + admin form fields)
MOD_MOKOJOOMHERO_NO_CONTENT="Add content to this module to display it over the hero image."
+1 -1
View File
@@ -6,7 +6,7 @@
; INGROUP: MokoJoomHero.Module
; REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero
; PATH: /src/language/en-US/mod_mokojoomhero.sys.ini
; VERSION: 01.04.00
; VERSION: 01.04.01
; BRIEF: System language strings — used in admin Extension Manager and Module Manager (en-US)
MOD_MOKOJOOMHERO="Module - MokoJoomHero"
+1 -1
View File
@@ -7,7 +7,7 @@
* INGROUP: MokoJoomHero.Module
* REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero
* PATH: /src/css/template.css
* VERSION: 01.04.00
* VERSION: 01.04.01
* BRIEF: Hero module stylesheet — slideshow, video background, overlay
*/
+1 -1
View File
@@ -8,7 +8,7 @@
* INGROUP: MokoJoomHero.Module
* REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero
* PATH: /src/js/template.js
* VERSION: 01.04.00
* VERSION: 01.04.01
* BRIEF: Hero module JavaScript — image slideshow crossfade
*/
+1 -1
View File
@@ -22,7 +22,7 @@
<authorUrl>https://mokoconsulting.tech</authorUrl>
<copyright>Copyright (C) 2026 Moko Consulting. All rights reserved.</copyright>
<license>GPL-3.0-or-later</license>
<version>01.04.00</version>
<version>01.04.01-dev</version>
<description>Displays a random hero image slideshow or background video with content overlaid. Designed for MokoOnyx template. By Moko Consulting.</description>
<scriptfile>script.php</scriptfile>
+16 -16
View File
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
SPDX-License-Identifier: GPL-3.0-or-later
VERSION: 01.05.00-rc
VERSION: 01.06.00-rc
-->
<updates>
@@ -11,13 +11,13 @@
<element>mod_mokojoomhero</element>
<type>module</type>
<client>site</client>
<version>01.04.00</version>
<version>01.05.00</version>
<creationDate>2026-05-30</creationDate>
<infourl title="MokoJoomHero">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/tag/stable</infourl>
<downloads>
<downloadurl type="full" format="zip">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/stable/mod_mokojoomhero-01.04.00.zip</downloadurl>
<downloadurl type="full" format="zip">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/stable/mod_mokojoomhero-01.05.00.zip</downloadurl>
</downloads>
<sha256>ed48980c7cbd71c535f61e6eacc3f54159a1301237cbdb62ac58bdae2192c5a3</sha256>
<sha256>4b37b276f022bf83e0a446c02045134b7ad4e84ec6e7618293401589a84aa5ed</sha256>
<tags><tag>stable</tag></tags>
<changelogurl>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/raw/branch/main/CHANGELOG.md</changelogurl>
<maintainer>Moko Consulting</maintainer>
@@ -30,13 +30,13 @@
<element>mod_mokojoomhero</element>
<type>module</type>
<client>site</client>
<version>01.05.00-dev</version>
<version>01.06.00-dev</version>
<creationDate>2026-05-30</creationDate>
<infourl title="MokoJoomHero">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/tag/development</infourl>
<downloads>
<downloadurl type="full" format="zip">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/development/mod_mokojoomhero-01.05.00-dev.zip</downloadurl>
<downloadurl type="full" format="zip">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/development/mod_mokojoomhero-01.06.00-dev.zip</downloadurl>
</downloads>
<sha256>8d96e95497407fc5dbd4854120232b2dbcd8055222dfe2abd65c23bc33f9606a</sha256>
<sha256>ca6a84002f2d86483bd755ea8c488b645f0e11e0aad0e731e9cadbf9dcabc926</sha256>
<tags><tag>dev</tag></tags>
<changelogurl>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/raw/branch/main/CHANGELOG.md</changelogurl>
<maintainer>Moko Consulting</maintainer>
@@ -49,13 +49,13 @@
<element>mod_mokojoomhero</element>
<type>module</type>
<client>site</client>
<version>01.05.00-alpha</version>
<version>01.06.00-alpha</version>
<creationDate>2026-05-30</creationDate>
<infourl title="MokoJoomHero">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/tag/alpha</infourl>
<downloads>
<downloadurl type="full" format="zip">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/alpha/mod_mokojoomhero-01.05.00-alpha.zip</downloadurl>
<downloadurl type="full" format="zip">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/alpha/mod_mokojoomhero-01.06.00-alpha.zip</downloadurl>
</downloads>
<sha256>8d96e95497407fc5dbd4854120232b2dbcd8055222dfe2abd65c23bc33f9606a</sha256>
<sha256>ca6a84002f2d86483bd755ea8c488b645f0e11e0aad0e731e9cadbf9dcabc926</sha256>
<tags><tag>alpha</tag></tags>
<changelogurl>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/raw/branch/main/CHANGELOG.md</changelogurl>
<maintainer>Moko Consulting</maintainer>
@@ -68,13 +68,13 @@
<element>mod_mokojoomhero</element>
<type>module</type>
<client>site</client>
<version>01.05.00-beta</version>
<version>01.06.00-beta</version>
<creationDate>2026-05-30</creationDate>
<infourl title="MokoJoomHero">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/tag/beta</infourl>
<downloads>
<downloadurl type="full" format="zip">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/beta/mod_mokojoomhero-01.05.00-beta.zip</downloadurl>
<downloadurl type="full" format="zip">https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/beta/mod_mokojoomhero-01.06.00-beta.zip</downloadurl>
</downloads>
<sha256>8d96e95497407fc5dbd4854120232b2dbcd8055222dfe2abd65c23bc33f9606a</sha256>
<sha256>ca6a84002f2d86483bd755ea8c488b645f0e11e0aad0e731e9cadbf9dcabc926</sha256>
<tags><tag>beta</tag></tags>
<changelogurl>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/raw/branch/main/CHANGELOG.md</changelogurl>
<maintainer>Moko Consulting</maintainer>
@@ -87,13 +87,13 @@
<element>mod_mokojoomhero</element>
<type>module</type>
<client>site</client>
<version>01.05.00-rc</version>
<version>01.06.00-rc</version>
<creationDate>2026-05-30</creationDate>
<infourl title='MokoJoomHero'>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/tag/release-candidate</infourl>
<downloads>
<downloadurl type='full' format='zip'>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/release-candidate/mod_mokojoomhero-01.05.00-rc.zip</downloadurl>
<downloadurl type='full' format='zip'>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases/download/release-candidate/mod_mokojoomhero-01.06.00-rc.zip</downloadurl>
</downloads>
<sha256>8d96e95497407fc5dbd4854120232b2dbcd8055222dfe2abd65c23bc33f9606a</sha256>
<sha256>ca6a84002f2d86483bd755ea8c488b645f0e11e0aad0e731e9cadbf9dcabc926</sha256>
<tags><tag>rc</tag></tags>
<changelogurl>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/raw/branch/main/CHANGELOG.md</changelogurl>
<maintainer>Moko Consulting</maintainer>