ci: sync all workflows from MokoStandards v04.05

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-07 16:37:42 -05:00
parent 0216df4c22
commit 4069834b7c
6 changed files with 28 additions and 18 deletions

View File

@@ -22,7 +22,7 @@
# INGROUP: MokoStandards.Deploy # INGROUP: MokoStandards.Deploy
# REPO: https://github.com/mokoconsulting-tech/MokoStandards # REPO: https://github.com/mokoconsulting-tech/MokoStandards
# PATH: /templates/workflows/shared/deploy-demo.yml.template # PATH: /templates/workflows/shared/deploy-demo.yml.template
# VERSION: 04.05.00 # VERSION: 04.05.13
# BRIEF: SFTP deployment workflow for demo server — synced to all governed repos # BRIEF: SFTP deployment workflow for demo server — synced to all governed repos
# NOTE: Synced via bulk-repo-sync to .github/workflows/deploy-demo.yml in all governed repos. # NOTE: Synced via bulk-repo-sync to .github/workflows/deploy-demo.yml in all governed repos.
# Port is resolved in order: DEMO_FTP_PORT variable → :port suffix in DEMO_FTP_HOST → 22. # Port is resolved in order: DEMO_FTP_PORT variable → :port suffix in DEMO_FTP_HOST → 22.
@@ -296,6 +296,12 @@ jobs:
HOST="$HOST_RAW" HOST="$HOST_RAW"
PORT="$PORT_VAR" PORT="$PORT_VAR"
if [ -z "$HOST" ]; then
echo "⏭️ DEMO_FTP_HOST not configured — skipping demo deployment."
echo "skip=true" >> "$GITHUB_OUTPUT"
exit 0
fi
# Priority 1 — explicit DEMO_FTP_PORT variable # Priority 1 — explicit DEMO_FTP_PORT variable
if [ -n "$PORT" ]; then if [ -n "$PORT" ]; then
echo " Using explicit DEMO_FTP_PORT=${PORT}" echo " Using explicit DEMO_FTP_PORT=${PORT}"
@@ -317,7 +323,7 @@ jobs:
echo "SFTP target: ${HOST}:${PORT}" echo "SFTP target: ${HOST}:${PORT}"
- name: Build remote path - name: Build remote path
if: steps.source.outputs.skip == 'false' if: steps.source.outputs.skip == 'false' && steps.conn.outputs.skip != 'true'
id: remote id: remote
env: env:
DEMO_FTP_PATH: ${{ vars.DEMO_FTP_PATH }} DEMO_FTP_PATH: ${{ vars.DEMO_FTP_PATH }}
@@ -326,10 +332,9 @@ jobs:
BASE="$DEMO_FTP_PATH" BASE="$DEMO_FTP_PATH"
if [ -z "$BASE" ]; then if [ -z "$BASE" ]; then
echo " DEMO_FTP_PATH is not set." echo "⏭️ DEMO_FTP_PATH not configured — skipping demo deployment."
echo " Configure it as an org-level variable (Settings → Variables) and" echo "skip=true" >> "$GITHUB_OUTPUT"
echo " ensure this repository has been granted access to it." exit 0
exit 1
fi fi
# DEMO_FTP_SUFFIX is required — it identifies the remote subdirectory for this repo. # DEMO_FTP_SUFFIX is required — it identifies the remote subdirectory for this repo.
@@ -640,7 +645,7 @@ jobs:
rm -f /tmp/deploy_key /tmp/sftp-config.json rm -f /tmp/deploy_key /tmp/sftp-config.json
- name: Create or update failure issue - name: Create or update failure issue
if: failure() && steps.remote.outputs.skip != 'true' if: failure() && steps.remote.outputs.skip != 'true' && steps.conn.outputs.skip != 'true'
env: env:
GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }}
run: | run: |

View File

@@ -22,7 +22,7 @@
# INGROUP: MokoStandards.Deploy # INGROUP: MokoStandards.Deploy
# REPO: https://github.com/mokoconsulting-tech/MokoStandards # REPO: https://github.com/mokoconsulting-tech/MokoStandards
# PATH: /templates/workflows/shared/deploy-dev.yml.template # PATH: /templates/workflows/shared/deploy-dev.yml.template
# VERSION: 04.05.00 # VERSION: 04.05.13
# BRIEF: SFTP deployment workflow for development server — synced to all governed repos # BRIEF: SFTP deployment workflow for development server — synced to all governed repos
# NOTE: Synced via bulk-repo-sync to .github/workflows/deploy-dev.yml in all governed repos. # NOTE: Synced via bulk-repo-sync to .github/workflows/deploy-dev.yml in all governed repos.
# Port is resolved in order: DEV_FTP_PORT variable → :port suffix in DEV_FTP_HOST → 22. # Port is resolved in order: DEV_FTP_PORT variable → :port suffix in DEV_FTP_HOST → 22.

View File

@@ -22,7 +22,7 @@
# INGROUP: MokoStandards.Deploy # INGROUP: MokoStandards.Deploy
# REPO: https://github.com/mokoconsulting-tech/MokoStandards # REPO: https://github.com/mokoconsulting-tech/MokoStandards
# PATH: /templates/workflows/shared/deploy-rs.yml.template # PATH: /templates/workflows/shared/deploy-rs.yml.template
# VERSION: 04.05.00 # VERSION: 04.05.13
# BRIEF: SFTP deployment workflow for release staging server — synced to all governed repos # BRIEF: SFTP deployment workflow for release staging server — synced to all governed repos
# NOTE: Synced via bulk-repo-sync to .github/workflows/deploy-rs.yml in all governed repos. # NOTE: Synced via bulk-repo-sync to .github/workflows/deploy-rs.yml in all governed repos.
# Port is resolved in order: RS_FTP_PORT variable → :port suffix in RS_FTP_HOST → 22. # Port is resolved in order: RS_FTP_PORT variable → :port suffix in RS_FTP_HOST → 22.
@@ -296,6 +296,12 @@ jobs:
HOST="$HOST_RAW" HOST="$HOST_RAW"
PORT="$PORT_VAR" PORT="$PORT_VAR"
if [ -z "$HOST" ]; then
echo "⏭️ RS_FTP_HOST not configured — skipping RS deployment."
echo "skip=true" >> "$GITHUB_OUTPUT"
exit 0
fi
# Priority 1 — explicit RS_FTP_PORT variable # Priority 1 — explicit RS_FTP_PORT variable
if [ -n "$PORT" ]; then if [ -n "$PORT" ]; then
echo " Using explicit RS_FTP_PORT=${PORT}" echo " Using explicit RS_FTP_PORT=${PORT}"
@@ -317,7 +323,7 @@ jobs:
echo "SFTP target: ${HOST}:${PORT}" echo "SFTP target: ${HOST}:${PORT}"
- name: Build remote path - name: Build remote path
if: steps.source.outputs.skip == 'false' if: steps.source.outputs.skip == 'false' && steps.conn.outputs.skip != 'true'
id: remote id: remote
env: env:
RS_FTP_PATH: ${{ vars.RS_FTP_PATH }} RS_FTP_PATH: ${{ vars.RS_FTP_PATH }}
@@ -326,10 +332,9 @@ jobs:
BASE="$RS_FTP_PATH" BASE="$RS_FTP_PATH"
if [ -z "$BASE" ]; then if [ -z "$BASE" ]; then
echo " RS_FTP_PATH is not set." echo "⏭️ RS_FTP_PATH not configured — skipping RS deployment."
echo " Configure it as an org-level variable (Settings → Variables) and" echo "skip=true" >> "$GITHUB_OUTPUT"
echo " ensure this repository has been granted access to it." exit 0
exit 1
fi fi
# RS_FTP_SUFFIX is required — it identifies the remote subdirectory for this repo. # RS_FTP_SUFFIX is required — it identifies the remote subdirectory for this repo.
@@ -567,7 +572,7 @@ jobs:
rm -f /tmp/deploy_key /tmp/sftp-config.json rm -f /tmp/deploy_key /tmp/sftp-config.json
- name: Create or update failure issue - name: Create or update failure issue
if: failure() && steps.remote.outputs.skip != 'true' if: failure() && steps.remote.outputs.skip != 'true' && steps.conn.outputs.skip != 'true'
env: env:
GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }}
run: | run: |

View File

@@ -22,7 +22,7 @@
# INGROUP: MokoStandards.Firewall # INGROUP: MokoStandards.Firewall
# REPO: https://github.com/mokoconsulting-tech/MokoStandards # REPO: https://github.com/mokoconsulting-tech/MokoStandards
# PATH: /templates/workflows/shared/enterprise-firewall-setup.yml.template # PATH: /templates/workflows/shared/enterprise-firewall-setup.yml.template
# VERSION: 04.05.00 # VERSION: 04.05.13
# BRIEF: Enterprise firewall configuration — generates outbound allow-rules including SFTP deployment server # BRIEF: Enterprise firewall configuration — generates outbound allow-rules including SFTP deployment server
# NOTE: Reads DEV_FTP_HOST / DEV_FTP_PORT variables to include SFTP egress rules alongside HTTPS rules. # NOTE: Reads DEV_FTP_HOST / DEV_FTP_PORT variables to include SFTP egress rules alongside HTTPS rules.

View File

@@ -9,7 +9,7 @@
# INGROUP: MokoStandards.Maintenance # INGROUP: MokoStandards.Maintenance
# REPO: https://github.com/mokoconsulting-tech/MokoStandards # REPO: https://github.com/mokoconsulting-tech/MokoStandards
# PATH: /templates/workflows/shared/repository-cleanup.yml.template # PATH: /templates/workflows/shared/repository-cleanup.yml.template
# VERSION: 04.05.00 # VERSION: 04.05.13
# BRIEF: Recurring repository maintenance — labels, branches, workflows, logs, doc indexes # BRIEF: Recurring repository maintenance — labels, branches, workflows, logs, doc indexes
# NOTE: Synced via bulk-repo-sync to .github/workflows/repository-cleanup.yml in all governed repos. # NOTE: Synced via bulk-repo-sync to .github/workflows/repository-cleanup.yml in all governed repos.
# Runs on the 1st and 15th of each month at 6:00 AM UTC, and on manual dispatch. # Runs on the 1st and 15th of each month at 6:00 AM UTC, and on manual dispatch.

View File

@@ -9,7 +9,7 @@
# INGROUP: MokoStandards.Automation # INGROUP: MokoStandards.Automation
# REPO: https://github.com/mokoconsulting-tech/MokoStandards # REPO: https://github.com/mokoconsulting-tech/MokoStandards
# PATH: /templates/workflows/shared/sync-version-on-merge.yml.template # PATH: /templates/workflows/shared/sync-version-on-merge.yml.template
# VERSION: 04.05.00 # VERSION: 04.05.13
# BRIEF: Auto-bump patch version on every push to main and propagate to all file headers # BRIEF: Auto-bump patch version on every push to main and propagate to all file headers
# NOTE: Synced via bulk-repo-sync to .github/workflows/sync-version-on-merge.yml in all governed repos. # NOTE: Synced via bulk-repo-sync to .github/workflows/sync-version-on-merge.yml in all governed repos.
# README.md is the single source of truth for the repository version. # README.md is the single source of truth for the repository version.