# Copyright (C) 2026 Moko Consulting # # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Universal # REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /.mokogitea/workflows/workflow-sync-trigger.yml # VERSION: 01.01.00 # BRIEF: Trigger workflow sync to live repos when a PR is merged to main name: "Universal: Workflow Sync Trigger" on: pull_request: types: [closed] branches: - main env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: sync: name: Sync workflows to live repos runs-on: ubuntu-latest if: >- github.event.pull_request.merged == true && !contains(github.event.pull_request.title, '[skip sync]') steps: - name: Determine platform from repo name id: platform run: | REPO="${{ github.event.repository.name }}" case "$REPO" in Template-Joomla) PLATFORM="joomla" ;; Template-Dolibarr) PLATFORM="dolibarr" ;; Template-Go) PLATFORM="go" ;; Template-MCP) PLATFORM="mcp" ;; Template-Generic) PLATFORM="" ;; *) PLATFORM="" ;; esac echo "platform=$PLATFORM" >> "$GITHUB_OUTPUT" echo "Platform: ${PLATFORM:-all}" - name: Clone mokocli env: MOKOGITEA_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} run: | GITEA_URL="${{ vars.GITEA_URL || 'https://git.mokoconsulting.tech' }}" git clone --depth 1 "${GITEA_URL}/MokoConsulting/mokocli.git" /tmp/mokocli - name: Install dependencies run: | cd /tmp/mokocli composer install --no-dev --no-interaction --quiet 2>/dev/null || true - name: Run workflow sync env: MOKOGITEA_TOKEN: ${{ secrets.MOKOGITEA_TOKEN }} run: | ARGS="--token ${MOKOGITEA_TOKEN}" ARGS="${ARGS} --org ${{ vars.GITEA_ORG || github.repository_owner }}" ARGS="${ARGS} --phase repos" PLATFORM="${{ steps.platform.outputs.platform }}" if [ -n "$PLATFORM" ]; then ARGS="${ARGS} --platform-filter ${PLATFORM}" fi php /tmp/mokocli/cli/workflow_sync.php ${ARGS}