From f75e67d6d0b94b93c0fddeac31390777fee19375 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 16 Apr 2026 22:44:42 -0500 Subject: [PATCH] Convert all workflows to Gitea-primary, GitHub backup only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - GA_TOKEN for all Gitea API operations - GH_TOKEN reserved for GitHub mirror (stable/rc only) - gh api calls → Gitea API curl - gitea-actions[bot] identity - Gitea download URLs as primary - 15 workflow files updated Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/auto-assign.yml | 14 ++--- .github/workflows/auto-dev-issue.yml | 12 ++-- .github/workflows/auto-release.yml | 30 +++++----- .github/workflows/auto-update-sha.yml | 6 +- .github/workflows/branch-freeze.yml | 16 ++--- .github/workflows/changelog-validation.yml | 2 +- .github/workflows/ci-joomla.yml | 8 +-- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/deploy-manual.yml | 6 +- .../workflows/enterprise-firewall-setup.yml | 2 +- .github/workflows/repo_health.yml | 4 +- .github/workflows/repository-cleanup.yml | 58 +++++++++---------- .github/workflows/standards-compliance.yml | 20 +++---- .github/workflows/sync-version-on-merge.yml | 24 ++++---- .github/workflows/update-server.yml | 30 +++++----- 15 files changed, 117 insertions(+), 117 deletions(-) diff --git a/.github/workflows/auto-assign.yml b/.github/workflows/auto-assign.yml index 75b1caf..1aafbc0 100644 --- a/.github/workflows/auto-assign.yml +++ b/.github/workflows/auto-assign.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Workflows.Shared # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /.github/workflows/auto-assign.yml @@ -32,7 +32,7 @@ jobs: steps: - name: Assign unassigned issues env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | REPO="${{ github.repository }}" ASSIGNEE="jmiller-moko" @@ -44,12 +44,12 @@ jobs: ASSIGNED_PRS=0 # Assign unassigned open issues - ISSUES=$(gh api "repos/$REPO/issues?state=open&per_page=100&assignee=none" --jq '.[].number' 2>/dev/null || true) + ISSUES=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues?state=open&per_page=100&assignee=none" | jq -r '.[].number' 2>/dev/null || true) for NUM in $ISSUES; do # Skip PRs (the issues endpoint returns PRs too) - IS_PR=$(gh api "repos/$REPO/issues/$NUM" --jq '.pull_request // empty' 2>/dev/null || true) + IS_PR=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues/$NUM" | jq -r '.pull_request // empty' 2>/dev/null || true) if [ -z "$IS_PR" ]; then - gh api "repos/$REPO/issues/$NUM/assignees" -X POST -f "assignees[]=$ASSIGNEE" --silent 2>/dev/null && { + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues/$NUM/assignees" 2>/dev/null -X POST -f "assignees[]=$ASSIGNEE" --silent 2>/dev/null && { ASSIGNED_ISSUES=$((ASSIGNED_ISSUES + 1)) echo " Assigned issue #$NUM" } || true @@ -57,9 +57,9 @@ jobs: done # Assign unassigned open PRs - PRS=$(gh api "repos/$REPO/pulls?state=open&per_page=100" --jq '.[] | select(.assignees | length == 0) | .number' 2>/dev/null || true) + PRS=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/pulls?state=open&per_page=100" | jq -r '.[] | select(.assignees | length == 0) | .number' 2>/dev/null || true) for NUM in $PRS; do - gh api "repos/$REPO/issues/$NUM/assignees" -X POST -f "assignees[]=$ASSIGNEE" --silent 2>/dev/null && { + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues/$NUM/assignees" 2>/dev/null -X POST -f "assignees[]=$ASSIGNEE" --silent 2>/dev/null && { ASSIGNED_PRS=$((ASSIGNED_PRS + 1)) echo " Assigned PR #$NUM" } || true diff --git a/.github/workflows/auto-dev-issue.yml b/.github/workflows/auto-dev-issue.yml index 185a5d7..55af5da 100644 --- a/.github/workflows/auto-dev-issue.yml +++ b/.github/workflows/auto-dev-issue.yml @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Automation # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/shared/auto-dev-issue.yml.template @@ -47,7 +47,7 @@ jobs: steps: - name: Create tracking issue and sub-issues env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | # For manual dispatch, use input; for auto, use event ref if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then @@ -85,7 +85,7 @@ jobs: TITLE="${TITLE_PREFIX}(${VERSION}): ${BRANCH_TYPE} tracking for ${BRANCH}" # Check for existing issue with same title prefix - EXISTING=$(gh api "repos/${REPO}/issues?state=open&per_page=10" \ + EXISTING=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues?state=open&per_page=10" 2>/dev/null \ --jq ".[] | select(.title | startswith(\"${TITLE_PREFIX}(${VERSION})\")) | .number" 2>/dev/null | head -1) if [ -n "$EXISTING" ]; then @@ -163,11 +163,11 @@ jobs: for SUB in "${SUB_ISSUES[@]}"; do IFS='|' read -r SUB_TITLE _ _ <<< "$SUB" SUB_FULL_TITLE="${TITLE_PREFIX}(${VERSION}): ${SUB_TITLE}" - SUB_NUM=$(gh api "repos/${REPO}/issues?state=open&per_page=20" \ + SUB_NUM=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues?state=open&per_page=20" 2>/dev/null \ --jq ".[] | select(.title == \"${SUB_FULL_TITLE}\") | .number" 2>/dev/null | head -1) if [ -n "$SUB_NUM" ]; then - gh api "repos/${REPO}/issues/${SUB_NUM}" -X PATCH \ - -f body="$(gh api "repos/${REPO}/issues/${SUB_NUM}" --jq '.body' 2>/dev/null) + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues/${SUB_NUM}" 2>/dev/null -X PATCH \ + -f body="$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues/${SUB_NUM}" | jq -r '.body' 2>/dev/null) > **Parent Issue:** #${PARENT_NUM}" --silent 2>/dev/null || true fi diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 0044e62..131ecab 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Release # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/joomla/auto-release.yml.template @@ -61,13 +61,13 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: - token: ${{ secrets.GH_TOKEN || github.token }} + token: ${{ secrets.GA_TOKEN || github.token }} fetch-depth: 0 - name: Setup MokoStandards tools env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | git clone --depth 1 --branch version/04 --quiet \ "https://x-access-token:${GH_TOKEN}@git.mokoconsulting.tech/MokoConsulting/MokoStandards-API.git" \ @@ -318,8 +318,8 @@ jobs: PHP_TAG="${PHP_MINIMUM}" fi - DOWNLOAD_URL="https://github.com/${REPO}/releases/download/v${VERSION}/${EXT_ELEMENT}-${VERSION}.zip" - INFO_URL="https://github.com/${REPO}/releases/tag/v${VERSION}" + DOWNLOAD_URL="https://git.mokoconsulting.tech/${{ github.repository }}/releases/download/v${VERSION}/${EXT_ELEMENT}-${VERSION}.zip" + INFO_URL="https://git.mokoconsulting.tech/${{ github.repository }}/releases/tag/v${VERSION}" # -- Build stable entry to temp file ───────────────────────── { @@ -384,11 +384,11 @@ jobs: exit 0 fi VERSION="${{ steps.version.outputs.version }}" - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add -A git commit -m "chore(release): build ${VERSION} [skip ci]" \ - --author="github-actions[bot] " + --author="gitea-actions[bot] " git push # -- STEP 6: Create tag --------------------------------------------------- @@ -415,7 +415,7 @@ jobs: steps.version.outputs.skip != 'true' && steps.check.outputs.tag_exists != 'true' env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | VERSION="${{ steps.version.outputs.version }}" RELEASE_TAG="${{ steps.version.outputs.release_tag }}" @@ -461,7 +461,7 @@ jobs: if: >- steps.version.outputs.skip != 'true' env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | VERSION="${{ steps.version.outputs.version }}" RELEASE_TAG="${{ steps.version.outputs.release_tag }}" @@ -511,8 +511,8 @@ jobs: # -- Update updates.xml with both download formats --------------- if [ -f "updates.xml" ]; then - ZIP_URL="https://github.com/${REPO}/releases/download/${RELEASE_TAG}/${ZIP_NAME}" - TAR_URL="https://github.com/${REPO}/releases/download/${RELEASE_TAG}/${TAR_NAME}" + ZIP_URL="https://git.mokoconsulting.tech/${{ github.repository }}/releases/download/${RELEASE_TAG}/${ZIP_NAME}" + TAR_URL="https://git.mokoconsulting.tech/${{ github.repository }}/releases/download/${RELEASE_TAG}/${TAR_NAME}" # Replace downloads block with both formats + SHA sed -i "s|.*|\n ${ZIP_URL}\n ${TAR_URL}\n |" updates.xml 2>/dev/null || true @@ -524,7 +524,7 @@ jobs: git add updates.xml git commit -m "chore(release): ZIP + tar.gz for ${VERSION} [skip ci]" \ - --author="github-actions[bot] " || true + --author="gitea-actions[bot] " || true git push || true fi @@ -535,7 +535,7 @@ jobs: echo "| \`${ZIP_NAME}\` | ${ZIP_SIZE} | \`${SHA256_ZIP}\` |" >> $GITHUB_STEP_SUMMARY echo "| \`${TAR_NAME}\` | ${TAR_SIZE} | \`${SHA256_TAR}\` |" >> $GITHUB_STEP_SUMMARY echo "| Release | \`${RELEASE_TAG}\` | |" >> $GITHUB_STEP_SUMMARY - echo "| Download | [${PACKAGE_NAME}](https://github.com/${REPO}/releases/download/${RELEASE_TAG}/${PACKAGE_NAME}) |" >> $GITHUB_STEP_SUMMARY + echo "| Download | [${PACKAGE_NAME}](https://git.mokoconsulting.tech/${{ github.repository }}/releases/download/${RELEASE_TAG}/${PACKAGE_NAME}) |" >> $GITHUB_STEP_SUMMARY # -- Summary -------------------------------------------------------------- - name: Pipeline Summary diff --git a/.github/workflows/auto-update-sha.yml b/.github/workflows/auto-update-sha.yml index 310332c..c264abf 100644 --- a/.github/workflows/auto-update-sha.yml +++ b/.github/workflows/auto-update-sha.yml @@ -1,7 +1,7 @@ # Copyright (C) 2026 Moko Consulting # SPDX-License-Identifier: GPL-3.0-or-later # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoCassiopeia.Automation # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoCassiopeia # PATH: /.github/workflows/auto-update-sha.yml @@ -115,8 +115,8 @@ jobs: run: | TAG="${{ steps.tag.outputs.tag }}" - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add updates.xml git commit -m "chore: Update SHA-256 hash for release ${TAG} - SHA: ${{ steps.sha.outputs.sha256 }}" diff --git a/.github/workflows/branch-freeze.yml b/.github/workflows/branch-freeze.yml index a9d36ef..0275786 100644 --- a/.github/workflows/branch-freeze.yml +++ b/.github/workflows/branch-freeze.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Automation # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/shared/branch-freeze.yml.template @@ -41,11 +41,11 @@ jobs: steps: - name: Check permissions env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | ACTOR="${{ github.actor }}" REPO="${{ github.repository }}" - PERMISSION=$(gh api "repos/${REPO}/collaborators/${ACTOR}/permission" \ + PERMISSION=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/collaborators/${ACTOR}/permission" 2>/dev/null \ --jq '.permission' 2>/dev/null || echo "read") if [ "$PERMISSION" != "admin" ]; then echo "Denied: only admins can freeze/unfreeze branches (${ACTOR} has ${PERMISSION})" @@ -54,7 +54,7 @@ jobs: - name: "${{ inputs.action }} branch" env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | BRANCH="${{ inputs.branch }}" ACTION="${{ inputs.action }}" @@ -66,7 +66,7 @@ jobs: if [ "$ACTION" = "freeze" ]; then # Check if ruleset already exists - EXISTING=$(gh api "repos/${REPO}/rulesets" \ + EXISTING=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/rulesets" 2>/dev/null \ --jq ".[] | select(.name == \"${RULESET_NAME}\") | .id" 2>/dev/null || true) if [ -n "$EXISTING" ]; then @@ -80,7 +80,7 @@ jobs: printf '"conditions":{"ref_name":{"include":["refs/heads/%s"],"exclude":[]}},' "${BRANCH}" >> /tmp/ruleset.json printf '"rules":[{"type":"update"},{"type":"deletion"},{"type":"non_fast_forward"}]}' >> /tmp/ruleset.json - RESULT=$(gh api "repos/${REPO}/rulesets" -X POST --input /tmp/ruleset.json --jq '.id' 2>&1) || true + RESULT=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/rulesets" 2>/dev/null -X POST --input /tmp/ruleset.json --jq '.id' 2>&1) || true if echo "$RESULT" | grep -qE '^[0-9]+$'; then echo "Frozen \`${BRANCH}\` — ruleset #${RESULT}" >> $GITHUB_STEP_SUMMARY @@ -98,7 +98,7 @@ jobs: elif [ "$ACTION" = "unfreeze" ]; then # Find and delete the freeze ruleset - RULESET_ID=$(gh api "repos/${REPO}/rulesets" \ + RULESET_ID=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/rulesets" 2>/dev/null \ --jq ".[] | select(.name == \"${RULESET_NAME}\") | .id" 2>/dev/null || true) if [ -z "$RULESET_ID" ]; then @@ -106,7 +106,7 @@ jobs: exit 0 fi - gh api "repos/${REPO}/rulesets/${RULESET_ID}" -X DELETE --silent 2>/dev/null + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/rulesets/${RULESET_ID}" 2>/dev/null -X DELETE --silent 2>/dev/null echo "Unfrozen \`${BRANCH}\` — ruleset #${RULESET_ID} deleted" >> $GITHUB_STEP_SUMMARY fi diff --git a/.github/workflows/changelog-validation.yml b/.github/workflows/changelog-validation.yml index 81f7e2c..c15324b 100644 --- a/.github/workflows/changelog-validation.yml +++ b/.github/workflows/changelog-validation.yml @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow.Template +# DEFGROUP: Gitea.Workflow.Template # INGROUP: MokoStandards.CI # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/shared/changelog-validation.yml.template diff --git a/.github/workflows/ci-joomla.yml b/.github/workflows/ci-joomla.yml index 5b32ce6..1017dea 100644 --- a/.github/workflows/ci-joomla.yml +++ b/.github/workflows/ci-joomla.yml @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow.Template +# DEFGROUP: Gitea.Workflow.Template # INGROUP: MokoStandards.CI # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/joomla/ci-joomla.yml.template @@ -48,7 +48,7 @@ jobs: - name: Clone MokoStandards env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | git clone --depth 1 --branch version/04 --quiet \ "https://x-access-token:${GH_TOKEN}@git.mokoconsulting.tech/MokoConsulting/MokoStandards.git" \ @@ -56,7 +56,7 @@ jobs: - name: Install dependencies env: - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | if [ -f "composer.json" ]; then composer install \ @@ -353,7 +353,7 @@ jobs: - name: Install dependencies env: - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | if [ -f "composer.json" ]; then composer install \ diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index b19b2de..f40e3e3 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow.Template +# DEFGROUP: Gitea.Workflow.Template # INGROUP: MokoStandards.Security # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/generic/codeql-analysis.yml.template diff --git a/.github/workflows/deploy-manual.yml b/.github/workflows/deploy-manual.yml index 0833575..2f60803 100644 --- a/.github/workflows/deploy-manual.yml +++ b/.github/workflows/deploy-manual.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Deploy # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/joomla/deploy-manual.yml.template @@ -48,8 +48,8 @@ jobs: - name: Setup MokoStandards tools env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | git clone --depth 1 --branch version/04 --quiet \ "https://x-access-token:${GH_TOKEN}@git.mokoconsulting.tech/MokoConsulting/MokoStandards.git" \ diff --git a/.github/workflows/enterprise-firewall-setup.yml b/.github/workflows/enterprise-firewall-setup.yml index c850602..550787b 100644 --- a/.github/workflows/enterprise-firewall-setup.yml +++ b/.github/workflows/enterprise-firewall-setup.yml @@ -18,7 +18,7 @@ # along with this program. If not, see . # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Firewall # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/shared/enterprise-firewall-setup.yml.template diff --git a/.github/workflows/repo_health.yml b/.github/workflows/repo_health.yml index e4c062a..2914787 100644 --- a/.github/workflows/repo_health.yml +++ b/.github/workflows/repo_health.yml @@ -6,7 +6,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Validation # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /.github/workflows/repo_health.yml @@ -97,7 +97,7 @@ jobs: let method = ""; // Hardcoded authorized users — always allowed - const authorizedUsers = ["jmiller-moko", "github-actions[bot]"]; + const authorizedUsers = ["jmiller-moko", "gitea-actions[bot]"]; if (authorizedUsers.includes(actor)) { allowed = true; permission = "admin"; diff --git a/.github/workflows/repository-cleanup.yml b/.github/workflows/repository-cleanup.yml index f3f8a94..6c203ce 100644 --- a/.github/workflows/repository-cleanup.yml +++ b/.github/workflows/repository-cleanup.yml @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Maintenance # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/shared/repository-cleanup.yml.template @@ -67,20 +67,20 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: - token: ${{ secrets.GH_TOKEN || github.token }} + token: ${{ secrets.GA_TOKEN || github.token }} fetch-depth: 0 - name: Check actor permission env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | ACTOR="${{ github.actor }}" - # Schedule triggers use github-actions[bot] + # Schedule triggers use gitea-actions[bot] if [ "${{ github.event_name }}" = "schedule" ]; then echo "✅ Scheduled run — authorized" exit 0 fi - AUTHORIZED_USERS="jmiller-moko github-actions[bot]" + AUTHORIZED_USERS="jmiller-moko gitea-actions[bot]" for user in $AUTHORIZED_USERS; do if [ "$ACTOR" = "$user" ]; then echo "✅ ${ACTOR} authorized" @@ -170,11 +170,11 @@ jobs: done if [ "$DELETED" -gt 0 ]; then - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add -A git commit -m "chore: delete ${DELETED} retired workflow file(s) [skip ci]" \ - --author="github-actions[bot] " + --author="gitea-actions[bot] " git push echo "✅ ${DELETED} retired workflow(s) deleted" >> $GITHUB_STEP_SUMMARY else @@ -185,20 +185,20 @@ jobs: - name: Reset labels to standard set if: steps.tasks.outputs.reset_labels == 'true' env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | REPO="${{ github.repository }}" echo "## 🏷️ Label Reset" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - gh api "repos/${REPO}/labels?per_page=100" --paginate --jq '.[].name' | while read -r label; do + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/labels?per_page=100" 2>/dev/null --paginate --jq '.[].name' | while read -r label; do ENCODED=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$label', safe=''))") gh api -X DELETE "repos/${REPO}/labels/${ENCODED}" --silent 2>/dev/null || true done while IFS='|' read -r name color description; do [ -z "$name" ] && continue - gh api "repos/${REPO}/labels" \ + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/labels" 2>/dev/null \ -f name="$name" -f color="$color" -f description="$description" \ --silent 2>/dev/null || true done << 'LABELS' @@ -267,7 +267,7 @@ jobs: - name: Delete old sync branches if: steps.tasks.outputs.clean_branches == 'true' env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | REPO="${{ github.repository }}" CURRENT="chore/sync-mokostandards-v04.05" @@ -275,7 +275,7 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY FOUND=false - gh api "repos/${REPO}/branches?per_page=100" --jq '.[].name' | \ + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/branches?per_page=100" | jq -r '.[].name' 2>/dev/null | \ grep "^chore/sync-mokostandards" | \ grep -v "^${CURRENT}$" | while read -r branch; do gh pr list --repo "$REPO" --head "$branch" --state open --json number --jq '.[].number' 2>/dev/null | while read -r pr; do @@ -295,7 +295,7 @@ jobs: - name: Clean up workflow runs if: steps.tasks.outputs.clean_workflows == 'true' env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | REPO="${{ github.repository }}" echo "## 🔄 Workflow Run Cleanup" >> $GITHUB_STEP_SUMMARY @@ -304,7 +304,7 @@ jobs: DELETED=0 # Delete cancelled and stale workflow runs for status in cancelled stale; do - gh api "repos/${REPO}/actions/runs?status=${status}&per_page=100" \ + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/actions/runs?status=${status}&per_page=100" 2>/dev/null \ --jq '.workflow_runs[].id' 2>/dev/null | while read -r run_id; do gh api -X DELETE "repos/${REPO}/actions/runs/${run_id}" --silent 2>/dev/null || true DELETED=$((DELETED+1)) @@ -317,7 +317,7 @@ jobs: - name: Delete old workflow run logs if: steps.tasks.outputs.clean_logs == 'true' env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | REPO="${{ github.repository }}" CUTOFF=$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u -v-30d +%Y-%m-%dT%H:%M:%SZ) @@ -326,7 +326,7 @@ jobs: echo "Deleting logs older than: ${CUTOFF}" >> $GITHUB_STEP_SUMMARY DELETED=0 - gh api "repos/${REPO}/actions/runs?created=<${CUTOFF}&per_page=100" \ + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/actions/runs?created=<${CUTOFF}&per_page=100" 2>/dev/null \ --jq '.workflow_runs[].id' 2>/dev/null | while read -r run_id; do gh api -X DELETE "repos/${REPO}/actions/runs/${run_id}/logs" --silent 2>/dev/null || true DELETED=$((DELETED+1)) @@ -352,11 +352,11 @@ jobs: done if [ "$FIXED" -gt 0 ]; then - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add .github/ISSUE_TEMPLATE/ git commit -m "fix: strip copyright comment blocks from issue templates [skip ci]" \ - --author="github-actions[bot] " + --author="gitea-actions[bot] " git push echo "✅ ${FIXED} template(s) cleaned and committed" >> $GITHUB_STEP_SUMMARY else @@ -400,12 +400,12 @@ jobs: done if [ "$UPDATED" -gt 0 ]; then - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add docs/ if ! git diff --cached --quiet; then git commit -m "docs: rebuild documentation indexes [skip ci]" \ - --author="github-actions[bot] " + --author="gitea-actions[bot] " git push echo "✅ ${UPDATED} index file(s) rebuilt and committed" >> $GITHUB_STEP_SUMMARY else @@ -476,12 +476,12 @@ jobs: Synced workflows live in `.github/workflows/` (parent directory). CWEOF sed -i 's/^ //' .github/workflows/custom/README.md - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add .github/workflows/custom/ if ! git diff --cached --quiet; then git commit -m "chore: create .github/workflows/custom/ for repo-specific workflows [skip ci]" \ - --author="github-actions[bot] " + --author="gitea-actions[bot] " git push echo "✅ Created \`.github/workflows/custom/\` directory" >> $GITHUB_STEP_SUMMARY fi @@ -494,7 +494,7 @@ jobs: - name: Delete old closed issues if: steps.tasks.outputs.delete_closed_issues == 'true' env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | REPO="${{ github.repository }}" CUTOFF=$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u -v-30d +%Y-%m-%dT%H:%M:%SZ) @@ -503,10 +503,10 @@ jobs: echo "Deleting issues closed before: ${CUTOFF}" >> $GITHUB_STEP_SUMMARY DELETED=0 - gh api "repos/${REPO}/issues?state=closed&since=1970-01-01T00:00:00Z&per_page=100&sort=updated&direction=asc" \ + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues?state=closed&since=1970-01-01T00:00:00Z&per_page=100&sort=updated&direction=asc" 2>/dev/null \ --jq ".[] | select(.closed_at < \"${CUTOFF}\") | .number" 2>/dev/null | while read -r num; do # Lock and close with "not_planned" to mark as cleaned up - gh api "repos/${REPO}/issues/${num}/lock" -X PUT -f lock_reason="resolved" --silent 2>/dev/null || true + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues/${num}/lock" 2>/dev/null -X PUT -f lock_reason="resolved" --silent 2>/dev/null || true echo " Locked issue #${num}" >> $GITHUB_STEP_SUMMARY DELETED=$((DELETED+1)) done diff --git a/.github/workflows/standards-compliance.yml b/.github/workflows/standards-compliance.yml index 9b13745..ceee3f9 100644 --- a/.github/workflows/standards-compliance.yml +++ b/.github/workflows/standards-compliance.yml @@ -1,7 +1,7 @@ # Copyright (C) 2026 Moko Consulting # SPDX-License-Identifier: GPL-3.0-or-later # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Compliance # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /.github/workflows/standards-compliance.yml @@ -506,8 +506,8 @@ jobs: - name: Setup MokoStandards tools env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | git clone --depth 1 --branch version/04 --quiet \ "https://x-access-token:${GH_TOKEN}@git.mokoconsulting.tech/MokoConsulting/MokoStandards.git" \ @@ -1970,8 +1970,8 @@ jobs: - name: Install API Package env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | if [ -f "composer.json" ]; then composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader @@ -2042,8 +2042,8 @@ jobs: - name: Install API Package env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | if [ -f "composer.json" ]; then composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader @@ -2537,7 +2537,7 @@ jobs: - name: Create or reopen tracking issue for standards violations if: failure() env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | REPO="${{ github.repository }}" RUN_URL="${{ github.server_url }}/${REPO}/actions/runs/${{ github.run_id }}" @@ -2592,11 +2592,11 @@ jobs: gh label create "$LABEL" --repo "$REPO" --color "D73A4A" --description "Standards compliance failure" --force 2>/dev/null || true - EXISTING=$(gh api "repos/${REPO}/issues?labels=${LABEL}&state=all&per_page=1&sort=created&direction=desc" \ + EXISTING=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues?labels=${LABEL}&state=all&per_page=1&sort=created&direction=desc" 2>/dev/null \ --jq '.[0].number' 2>/dev/null) if [ -n "$EXISTING" ] && [ "$EXISTING" != "null" ]; then - gh api "repos/${REPO}/issues/${EXISTING}" -X PATCH \ + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/issues/${EXISTING}" 2>/dev/null -X PATCH \ -f title="$TITLE" -f body="$BODY" -f state="open" --silent echo "Updated issue #${EXISTING}" else diff --git a/.github/workflows/sync-version-on-merge.yml b/.github/workflows/sync-version-on-merge.yml index 16f58fd..9322ca2 100644 --- a/.github/workflows/sync-version-on-merge.yml +++ b/.github/workflows/sync-version-on-merge.yml @@ -5,7 +5,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Automation # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/shared/sync-version-on-merge.yml.template @@ -46,7 +46,7 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: - token: ${{ secrets.GH_TOKEN || github.token }} + token: ${{ secrets.GA_TOKEN || github.token }} fetch-depth: 0 - name: Set up PHP @@ -57,8 +57,8 @@ jobs: - name: Setup MokoStandards tools env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | git clone --depth 1 --branch version/04 --quiet \ "https://x-access-token:${GH_TOKEN}@git.mokoconsulting.tech/MokoConsulting/MokoStandards.git" \ @@ -67,7 +67,7 @@ jobs: composer install --no-dev --no-interaction --quiet - name: Auto-bump patch version - if: ${{ github.event_name != 'workflow_dispatch' && github.actor != 'github-actions[bot]' }} + if: ${{ github.event_name != 'workflow_dispatch' && github.actor != 'gitea-actions[bot]' }} run: | if git diff --name-only HEAD~1 HEAD 2>/dev/null | grep -q '^README\.md$'; then echo "README.md changed in this push — skipping auto-bump" @@ -79,11 +79,11 @@ jobs: exit 0 } echo "Auto-bumping patch: $RESULT" - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add README.md git commit -m "chore(version): auto-bump patch ${RESULT} [skip ci]" \ - --author="github-actions[bot] " + --author="gitea-actions[bot] " git push - name: Extract version from README.md @@ -108,7 +108,7 @@ jobs: --create-issue \ --repo "${{ github.repository }}" env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} - name: Commit updated files if: ${{ steps.readme_version.outputs.skip != 'true' && inputs.dry_run != true }} @@ -119,11 +119,11 @@ jobs: exit 0 fi VERSION="${{ steps.readme_version.outputs.version }}" - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add -A git commit -m "chore(version): sync badges and headers to ${VERSION} [skip ci]" \ - --author="github-actions[bot] " + --author="gitea-actions[bot] " git push - name: Summary diff --git a/.github/workflows/update-server.yml b/.github/workflows/update-server.yml index 39bc2ab..7ef6ebe 100644 --- a/.github/workflows/update-server.yml +++ b/.github/workflows/update-server.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # # FILE INFORMATION -# DEFGROUP: GitHub.Workflow +# DEFGROUP: Gitea.Workflow # INGROUP: MokoStandards.Joomla # REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards # PATH: /templates/workflows/joomla/update-server.yml.template @@ -61,13 +61,13 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: - token: ${{ secrets.GH_TOKEN || github.token }} + token: ${{ secrets.GA_TOKEN || github.token }} fetch-depth: 0 - name: Setup MokoStandards tools env: - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} - COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GH_TOKEN || github.token }}"}}' + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} + COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GA_TOKEN || github.token }}"}}' run: | git clone --depth 1 --branch version/04 --quiet \ "https://x-access-token:${GH_TOKEN}@git.mokoconsulting.tech/MokoConsulting/MokoStandards.git" \ @@ -84,14 +84,14 @@ jobs: # Auto-bump patch on alpha/beta/rc branches (not dev — dev bumps manually) if [[ "$BRANCH" != dev/* ]]; then - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" BUMPED=$(php /tmp/mokostandards/api/cli/version_bump.php --path . 2>/dev/null || true) if [ -n "$BUMPED" ]; then VERSION=$(php /tmp/mokostandards/api/cli/version_read.php --path . 2>/dev/null || echo "$VERSION") git add -A git commit -m "chore(version): auto-bump patch ${VERSION} [skip ci]" \ - --author="github-actions[bot] " 2>/dev/null || true + --author="gitea-actions[bot] " 2>/dev/null || true git push 2>/dev/null || true fi fi @@ -173,7 +173,7 @@ jobs: esac PACKAGE_NAME="${EXT_ELEMENT}-${DISPLAY_VERSION}.zip" - DOWNLOAD_URL="https://github.com/${REPO}/releases/download/${RELEASE_TAG}/${PACKAGE_NAME}" + DOWNLOAD_URL="https://git.mokoconsulting.tech/${{ github.repository }}/releases/download/${RELEASE_TAG}/${PACKAGE_NAME}" INFO_URL="https://github.com/${REPO}" # ── Build install packages (ZIP + tar.gz) ─────────────────── @@ -220,7 +220,7 @@ jobs: NEW_ENTRY="${NEW_ENTRY} \n" NEW_ENTRY="${NEW_ENTRY} ${INFO_URL}\n" NEW_ENTRY="${NEW_ENTRY} \n" - TAR_URL="https://github.com/${REPO}/releases/download/${RELEASE_TAG}/${EXT_ELEMENT}-${DISPLAY_VERSION}.tar.gz" + TAR_URL="https://git.mokoconsulting.tech/${{ github.repository }}/releases/download/${RELEASE_TAG}/${EXT_ELEMENT}-${DISPLAY_VERSION}.tar.gz" NEW_ENTRY="${NEW_ENTRY} ${DOWNLOAD_URL}\n" NEW_ENTRY="${NEW_ENTRY} ${TAR_URL}\n" NEW_ENTRY="${NEW_ENTRY} \n" @@ -269,12 +269,12 @@ jobs: fi # Commit - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" + git config --local user.email "gitea-actions[bot]@mokoconsulting.tech" + git config --local user.name "gitea-actions[bot]" git add updates.xml git diff --cached --quiet || { git commit -m "chore: update updates.xml (${STABILITY}: ${DISPLAY_VERSION}) [skip ci]" \ - --author="github-actions[bot] " + --author="gitea-actions[bot] " git push } @@ -288,14 +288,14 @@ jobs: DEV_PORT: ${{ vars.DEV_FTP_PORT }} DEV_KEY: ${{ secrets.DEV_FTP_KEY }} DEV_PASS: ${{ secrets.DEV_FTP_PASSWORD }} - GH_TOKEN: ${{ secrets.GH_TOKEN || github.token }} + GH_TOKEN: ${{ secrets.GA_TOKEN || github.token }} run: | # ── Permission check: admin or maintain role required ────── ACTOR="${{ github.actor }}" REPO="${{ github.repository }}" - PERMISSION=$(gh api "repos/${REPO}/collaborators/${ACTOR}/permission" \ + PERMISSION=$(curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/collaborators/${ACTOR}/permission" 2>/dev/null \ --jq '.permission' 2>/dev/null || \ - gh api "repos/${REPO}/collaborators/${ACTOR}" \ + curl -sf -H "Authorization: token ${{ secrets.GA_TOKEN }}" "${{GITEA_URL:-https://git.mokoconsulting.tech}}/api/v1/repos/${{ github.repository }}/collaborators/${ACTOR}" 2>/dev/null \ --jq '.role' 2>/dev/null || echo "read") case "$PERMISSION" in admin|maintain|write) ;;