diff --git a/.gitea/workflows/cicd-checks.yaml b/.gitea/workflows/cicd-checks.yaml index ba34ba5..abfb5d1 100644 --- a/.gitea/workflows/cicd-checks.yaml +++ b/.gitea/workflows/cicd-checks.yaml @@ -131,12 +131,24 @@ jobs: REF_NAME: ${{ github.ref_name }} run: | set -e + API_BASE="${GITHUB_SERVER_URL%/}/api/v1" + REPO_OWNER="${REPO_FULL%/*}" + REPO_NAME="${REPO_FULL#*/}" TARGET_REF="${HEAD_REF:-${REF_NAME}}" - ./scripts/dispatch-workflow.sh \ - --token "${PACKAGE_ACCESS_TOKEN}" \ - --repo "${REPO_FULL}" \ - --workflow "cicd-tests.yaml" \ - --ref "${TARGET_REF}" \ - --head-sha "${HEAD_SHA}" \ - --source-workflow "CICD Checks" + payload=$(cat <> "$GITHUB_OUTPUT" for i in 1 2 3; do - if timeout 30 docker manifest inspect "${BASE_REF_HASH}" >/dev/null 2>&1 && \ - timeout 60 docker pull "${BASE_REF_HASH}" >/dev/null 2>&1; then + echo "Base availability check ${i}/3 for ${BASE_REF_HASH}" + + if timeout 30 docker manifest inspect "${BASE_REF_HASH}" >/dev/null 2>&1; then + echo "manifest_check=ok" + else + echo "manifest_check=missing_or_unreachable" + if [ "${i}" -lt 3 ]; then + sleep 20 + fi + continue + fi + + if timeout 60 docker pull "${BASE_REF_HASH}" >/dev/null 2>&1; then + echo "pull_check=ok" echo "Base rebuild needed: false" echo "base_needed=false" >> "$GITHUB_OUTPUT" exit 0 + else + echo "pull_check=failed" fi if [ "${i}" -lt 3 ]; then @@ -151,6 +165,9 @@ jobs: REF_NAME: ${{ github.ref_name }} run: | set -e + API_BASE="${GITHUB_SERVER_URL%/}/api/v1" + REPO_OWNER="${REPO_FULL%/*}" + REPO_NAME="${REPO_FULL#*/}" TARGET_REF="${HEAD_REF:-${REF_NAME}}" if [ "${BASE_NEEDED}" = "true" ]; then @@ -159,11 +176,20 @@ jobs: TARGET_WORKFLOW="docker-build-main.yaml" fi - ./scripts/dispatch-workflow.sh \ - --token "${PACKAGE_ACCESS_TOKEN}" \ - --repo "${REPO_FULL}" \ - --workflow "${TARGET_WORKFLOW}" \ - --ref "${TARGET_REF}" \ - --head-sha "${HEAD_SHA}" \ - --source-workflow "CICD Start" \ - --base-needed "${BASE_NEEDED}" + payload=$(cat <