From 1b05486666c4eb75b0566d0c16a2bd902c75d5f4 Mon Sep 17 00:00:00 2001 From: copilotcoder Date: Thu, 28 May 2026 18:34:14 -0400 Subject: [PATCH] Adding a key for making a workflow call another workflow. Signed-off-by: copilotcoder --- .gitea/workflows/cicd-checks.yaml | 25 ++++++++++++++++++++----- .gitea/workflows/cicd-start.yaml | 25 ++++++++++++++++++++----- .gitea/workflows/cicd.yml | 25 ++++++++++++++++++++----- .gitea/workflows/docker-build-base.yaml | 25 ++++++++++++++++++++----- .gitea/workflows/docker-build-main.yaml | 25 ++++++++++++++++++++----- 5 files changed, 100 insertions(+), 25 deletions(-) diff --git a/.gitea/workflows/cicd-checks.yaml b/.gitea/workflows/cicd-checks.yaml index abfb5d1..70edaee 100644 --- a/.gitea/workflows/cicd-checks.yaml +++ b/.gitea/workflows/cicd-checks.yaml @@ -124,13 +124,19 @@ jobs: steps: - name: Dispatch tests workflow env: - PACKAGE_ACCESS_TOKEN: ${{ secrets.PACKAGE_ACCESS_TOKEN }} + DISPATCH_TOKEN: ${{ secrets.ACTIONS_TRIGGER_TOKEN || secrets.PACKAGE_ACCESS_TOKEN }} HEAD_SHA: ${{ needs.setup.outputs.head_sha }} REPO_FULL: ${{ github.repository }} HEAD_REF: ${{ github.head_ref }} REF_NAME: ${{ github.ref_name }} run: | set -e + + if [ -z "${DISPATCH_TOKEN}" ]; then + echo "❌ Missing dispatch token. Set ACTIONS_TRIGGER_TOKEN (repo write scope) or ensure PACKAGE_ACCESS_TOKEN has Actions workflow-dispatch permissions." + exit 1 + fi + API_BASE="${GITHUB_SERVER_URL%/}/api/v1" REPO_OWNER="${REPO_FULL%/*}" REPO_NAME="${REPO_FULL#*/}" @@ -147,8 +153,17 @@ jobs: EOF ) - curl -fsS -X POST \ - -H "Authorization: token ${PACKAGE_ACCESS_TOKEN}" \ + DISPATCH_URL="${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/cicd-tests.yaml/dispatches" + HTTP_CODE=$(curl -sS -o /tmp/dispatch-response.txt -w "%{http_code}" -X POST \ + -H "Authorization: token ${DISPATCH_TOKEN}" \ -H "Content-Type: application/json" \ - "${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/cicd-tests.yaml/dispatches" \ - -d "${payload}" + "${DISPATCH_URL}" \ + -d "${payload}" || true) + + if [ "${HTTP_CODE}" -lt 200 ] || [ "${HTTP_CODE}" -ge 300 ]; then + echo "❌ Dispatch failed with HTTP ${HTTP_CODE}" + echo "Dispatch URL: ${DISPATCH_URL}" + echo "Response body:" + cat /tmp/dispatch-response.txt || true + exit 1 + fi diff --git a/.gitea/workflows/cicd-start.yaml b/.gitea/workflows/cicd-start.yaml index 05d6c05..818b43c 100644 --- a/.gitea/workflows/cicd-start.yaml +++ b/.gitea/workflows/cicd-start.yaml @@ -157,7 +157,7 @@ jobs: - name: Dispatch downstream workflow if: steps.base-decision.outcome == 'success' && steps.base-decision.outputs.head_sha != '' && steps.base-decision.outputs.base_needed != '' env: - PACKAGE_ACCESS_TOKEN: ${{ secrets.PACKAGE_ACCESS_TOKEN }} + DISPATCH_TOKEN: ${{ secrets.ACTIONS_TRIGGER_TOKEN || secrets.PACKAGE_ACCESS_TOKEN }} BASE_NEEDED: ${{ steps.base-decision.outputs.base_needed }} HEAD_SHA: ${{ steps.base-decision.outputs.head_sha }} REPO_FULL: ${{ github.repository }} @@ -165,6 +165,12 @@ jobs: REF_NAME: ${{ github.ref_name }} run: | set -e + + if [ -z "${DISPATCH_TOKEN}" ]; then + echo "❌ Missing dispatch token. Set ACTIONS_TRIGGER_TOKEN (repo write scope) or ensure PACKAGE_ACCESS_TOKEN has Actions workflow-dispatch permissions." + exit 1 + fi + API_BASE="${GITHUB_SERVER_URL%/}/api/v1" REPO_OWNER="${REPO_FULL%/*}" REPO_NAME="${REPO_FULL#*/}" @@ -188,8 +194,17 @@ jobs: EOF ) - curl -fsS -X POST \ - -H "Authorization: token ${PACKAGE_ACCESS_TOKEN}" \ + DISPATCH_URL="${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/${TARGET_WORKFLOW}/dispatches" + HTTP_CODE=$(curl -sS -o /tmp/dispatch-response.txt -w "%{http_code}" -X POST \ + -H "Authorization: token ${DISPATCH_TOKEN}" \ -H "Content-Type: application/json" \ - "${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/${TARGET_WORKFLOW}/dispatches" \ - -d "${payload}" + "${DISPATCH_URL}" \ + -d "${payload}" || true) + + if [ "${HTTP_CODE}" -lt 200 ] || [ "${HTTP_CODE}" -ge 300 ]; then + echo "❌ Dispatch failed with HTTP ${HTTP_CODE}" + echo "Dispatch URL: ${DISPATCH_URL}" + echo "Response body:" + cat /tmp/dispatch-response.txt || true + exit 1 + fi diff --git a/.gitea/workflows/cicd.yml b/.gitea/workflows/cicd.yml index 0773e48..2946af6 100644 --- a/.gitea/workflows/cicd.yml +++ b/.gitea/workflows/cicd.yml @@ -24,13 +24,19 @@ jobs: - name: Dispatch CICD Start workflow env: - PACKAGE_ACCESS_TOKEN: ${{ secrets.PACKAGE_ACCESS_TOKEN }} + DISPATCH_TOKEN: ${{ secrets.ACTIONS_TRIGGER_TOKEN || secrets.PACKAGE_ACCESS_TOKEN }} REPO_FULL: ${{ github.repository }} HEAD_REF: ${{ github.head_ref }} REF_NAME: ${{ github.ref_name }} HEAD_SHA: ${{ github.sha }} run: | set -e + + if [ -z "${DISPATCH_TOKEN}" ]; then + echo "❌ Missing dispatch token. Set ACTIONS_TRIGGER_TOKEN (repo write scope) or ensure PACKAGE_ACCESS_TOKEN has Actions workflow-dispatch permissions." + exit 1 + fi + API_BASE="${GITHUB_SERVER_URL%/}/api/v1" REPO_OWNER="${REPO_FULL%/*}" REPO_NAME="${REPO_FULL#*/}" @@ -47,8 +53,17 @@ jobs: EOF ) - curl -fsS -X POST \ - -H "Authorization: token ${PACKAGE_ACCESS_TOKEN}" \ + DISPATCH_URL="${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/cicd-start.yaml/dispatches" + HTTP_CODE=$(curl -sS -o /tmp/dispatch-response.txt -w "%{http_code}" -X POST \ + -H "Authorization: token ${DISPATCH_TOKEN}" \ -H "Content-Type: application/json" \ - "${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/cicd-start.yaml/dispatches" \ - -d "${payload}" + "${DISPATCH_URL}" \ + -d "${payload}" || true) + + if [ "${HTTP_CODE}" -lt 200 ] || [ "${HTTP_CODE}" -ge 300 ]; then + echo "❌ Dispatch failed with HTTP ${HTTP_CODE}" + echo "Dispatch URL: ${DISPATCH_URL}" + echo "Response body:" + cat /tmp/dispatch-response.txt || true + exit 1 + fi diff --git a/.gitea/workflows/docker-build-base.yaml b/.gitea/workflows/docker-build-base.yaml index a7b05b3..171e93e 100644 --- a/.gitea/workflows/docker-build-base.yaml +++ b/.gitea/workflows/docker-build-base.yaml @@ -340,13 +340,19 @@ jobs: steps: - name: Dispatch main build workflow env: - PACKAGE_ACCESS_TOKEN: ${{ secrets.PACKAGE_ACCESS_TOKEN }} + DISPATCH_TOKEN: ${{ secrets.ACTIONS_TRIGGER_TOKEN || secrets.PACKAGE_ACCESS_TOKEN }} HEAD_SHA: ${{ github.event.inputs.head_sha || github.sha }} REPO_FULL: ${{ github.repository }} HEAD_REF: ${{ github.head_ref }} REF_NAME: ${{ github.ref_name }} run: | set -e + + if [ -z "${DISPATCH_TOKEN}" ]; then + echo "❌ Missing dispatch token. Set ACTIONS_TRIGGER_TOKEN (repo write scope) or ensure PACKAGE_ACCESS_TOKEN has Actions workflow-dispatch permissions." + exit 1 + fi + API_BASE="${GITHUB_SERVER_URL%/}/api/v1" REPO_OWNER="${REPO_FULL%/*}" REPO_NAME="${REPO_FULL#*/}" @@ -364,8 +370,17 @@ jobs: EOF ) - curl -fsS -X POST \ - -H "Authorization: token ${PACKAGE_ACCESS_TOKEN}" \ + DISPATCH_URL="${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/docker-build-main.yaml/dispatches" + HTTP_CODE=$(curl -sS -o /tmp/dispatch-response.txt -w "%{http_code}" -X POST \ + -H "Authorization: token ${DISPATCH_TOKEN}" \ -H "Content-Type: application/json" \ - "${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/docker-build-main.yaml/dispatches" \ - -d "${payload}" + "${DISPATCH_URL}" \ + -d "${payload}" || true) + + if [ "${HTTP_CODE}" -lt 200 ] || [ "${HTTP_CODE}" -ge 300 ]; then + echo "❌ Dispatch failed with HTTP ${HTTP_CODE}" + echo "Dispatch URL: ${DISPATCH_URL}" + echo "Response body:" + cat /tmp/dispatch-response.txt || true + exit 1 + fi diff --git a/.gitea/workflows/docker-build-main.yaml b/.gitea/workflows/docker-build-main.yaml index 52b0e1f..246d4a6 100644 --- a/.gitea/workflows/docker-build-main.yaml +++ b/.gitea/workflows/docker-build-main.yaml @@ -156,13 +156,19 @@ jobs: steps: - name: Dispatch checks workflow env: - PACKAGE_ACCESS_TOKEN: ${{ secrets.PACKAGE_ACCESS_TOKEN }} + DISPATCH_TOKEN: ${{ secrets.ACTIONS_TRIGGER_TOKEN || secrets.PACKAGE_ACCESS_TOKEN }} HEAD_SHA: ${{ needs.build.outputs.head_sha }} REPO_FULL: ${{ github.repository }} HEAD_REF: ${{ github.head_ref }} REF_NAME: ${{ github.ref_name }} run: | set -e + + if [ -z "${DISPATCH_TOKEN}" ]; then + echo "❌ Missing dispatch token. Set ACTIONS_TRIGGER_TOKEN (repo write scope) or ensure PACKAGE_ACCESS_TOKEN has Actions workflow-dispatch permissions." + exit 1 + fi + API_BASE="${GITHUB_SERVER_URL%/}/api/v1" REPO_OWNER="${REPO_FULL%/*}" REPO_NAME="${REPO_FULL#*/}" @@ -179,8 +185,17 @@ jobs: EOF ) - curl -fsS -X POST \ - -H "Authorization: token ${PACKAGE_ACCESS_TOKEN}" \ + DISPATCH_URL="${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/cicd-checks.yaml/dispatches" + HTTP_CODE=$(curl -sS -o /tmp/dispatch-response.txt -w "%{http_code}" -X POST \ + -H "Authorization: token ${DISPATCH_TOKEN}" \ -H "Content-Type: application/json" \ - "${API_BASE}/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/cicd-checks.yaml/dispatches" \ - -d "${payload}" + "${DISPATCH_URL}" \ + -d "${payload}" || true) + + if [ "${HTTP_CODE}" -lt 200 ] || [ "${HTTP_CODE}" -ge 300 ]; then + echo "❌ Dispatch failed with HTTP ${HTTP_CODE}" + echo "Dispatch URL: ${DISPATCH_URL}" + echo "Response body:" + cat /tmp/dispatch-response.txt || true + exit 1 + fi