diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 3c31f8f..4e03a6e 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -5,7 +5,8 @@ "Bash(but rub --help:*)", "WebSearch", "WebFetch(domain:docs.gitea.com)", - "WebFetch(domain:gitea.com)" + "WebFetch(domain:gitea.com)", + "Bash(but status:*)" ] } } diff --git a/.gitea/workflows/Release.yml b/.gitea/workflows/Release.yml index 52efc19..98559c7 100644 --- a/.gitea/workflows/Release.yml +++ b/.gitea/workflows/Release.yml @@ -95,7 +95,7 @@ jobs: DESCRIPTION="${CHANGES_CONTENT}"$'\n\n---\n\n'"${PR_NOTE}" echo "Checking for existing release PRs..." - PRS=$(curl -sf \ + PRS=$(curl -sf --retry 3 --retry-delay 2 --retry-connrefused \ -H "Authorization: token ${TOKEN}" \ "${API_URL}/pulls?state=open" | jq '[.[] | select(.head.ref == "next-release")]') PR_INDEX=$(echo "${PRS}" | jq -r '.[0].number // empty') @@ -103,7 +103,7 @@ jobs: # If PR exists, rebase the branch onto the latest base branch if [ -n "${PR_INDEX}" ]; then echo "Rebasing PR #${PR_INDEX} branch onto ${BASE_BRANCH}..." - REBASE_RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \ + REBASE_RESPONSE=$(curl -s --retry 3 --retry-delay 2 --retry-connrefused -w "\n%{http_code}" -X POST \ -H "Authorization: token ${TOKEN}" \ "${API_URL}/pulls/${PR_INDEX}/update?style=rebase") REBASE_CODE=$(echo "${REBASE_RESPONSE}" | tail -1) @@ -117,7 +117,7 @@ jobs: fi echo "Checking for existing next-release branch..." - BRANCH_CHECK=$(curl -s -w "%{http_code}" -o /dev/null \ + BRANCH_CHECK=$(curl -s --retry 3 --retry-delay 2 --retry-connrefused -w "%{http_code}" -o /dev/null \ -H "Authorization: token ${TOKEN}" \ "${API_URL}/branches/next-release") echo "Branch check HTTP status: ${BRANCH_CHECK}" @@ -139,13 +139,13 @@ jobs: echo "Updating existing next-release branch..." # Get SHA of existing CHANGELOG.md - CHANGELOG_SHA=$(curl -sf \ + CHANGELOG_SHA=$(curl -sf --retry 3 --retry-delay 2 --retry-connrefused \ -H "Authorization: token ${TOKEN}" \ "${API_URL}/contents/CHANGELOG.md?ref=next-release" | jq -r '.sha // empty') # Update or create CHANGELOG.md if [ -n "${CHANGELOG_SHA}" ]; then - curl -sf -X PUT \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X PUT \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -156,7 +156,7 @@ jobs: '{content: $content, sha: $sha, message: $message, branch: $branch}')" \ "${API_URL}/contents/CHANGELOG.md" else - curl -sf -X POST \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X POST \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -168,13 +168,13 @@ jobs: fi # Get SHA of existing .version - VERSION_SHA=$(curl -sf \ + VERSION_SHA=$(curl -sf --retry 3 --retry-delay 2 --retry-connrefused \ -H "Authorization: token ${TOKEN}" \ "${API_URL}/contents/.version?ref=next-release" | jq -r '.sha // empty') # Update or create .version if [ -n "${VERSION_SHA}" ]; then - curl -sf -X PUT \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X PUT \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -185,7 +185,7 @@ jobs: '{content: $content, sha: $sha, message: $message, branch: $branch}')" \ "${API_URL}/contents/.version" else - curl -sf -X POST \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X POST \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -199,13 +199,13 @@ jobs: echo "Creating new next-release branch from ${BASE_BRANCH}..." # Check if CHANGELOG.md exists on base branch to determine create vs update - CHANGELOG_SHA=$(curl -sf \ + CHANGELOG_SHA=$(curl -sf --retry 3 --retry-delay 2 --retry-connrefused \ -H "Authorization: token ${TOKEN}" \ "${API_URL}/contents/CHANGELOG.md?ref=${BASE_BRANCH}" | jq -r '.sha // empty') if [ -n "${CHANGELOG_SHA}" ]; then echo "Updating CHANGELOG.md (exists on ${BASE_BRANCH}) on new branch..." - RESPONSE=$(curl -s -w "\n%{http_code}" -X PUT \ + RESPONSE=$(curl -s --retry 3 --retry-delay 2 --retry-connrefused -w "\n%{http_code}" -X PUT \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -218,7 +218,7 @@ jobs: "${API_URL}/contents/CHANGELOG.md") else echo "Creating CHANGELOG.md on new branch..." - RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \ + RESPONSE=$(curl -s --retry 3 --retry-delay 2 --retry-connrefused -w "\n%{http_code}" -X POST \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -237,13 +237,13 @@ jobs: fi # Check if .version exists on base branch - VERSION_SHA=$(curl -sf \ + VERSION_SHA=$(curl -sf --retry 3 --retry-delay 2 --retry-connrefused \ -H "Authorization: token ${TOKEN}" \ "${API_URL}/contents/.version?ref=${BASE_BRANCH}" | jq -r '.sha // empty') if [ -n "${VERSION_SHA}" ]; then echo "Updating .version on next-release branch..." - curl -sf -X PUT \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X PUT \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -255,7 +255,7 @@ jobs: "${API_URL}/contents/.version" else echo "Creating .version on next-release branch..." - curl -sf -X POST \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X POST \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -269,7 +269,7 @@ jobs: if [ -n "${PR_INDEX}" ]; then echo "Updating existing PR #${PR_INDEX}..." - curl -sf -X PATCH \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X PATCH \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -279,7 +279,7 @@ jobs: "${API_URL}/pulls/${PR_INDEX}" else echo "Creating new PR..." - curl -sf -X POST \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X POST \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -347,7 +347,7 @@ jobs: MESSAGE=$(cat CHANGES.md) echo "Creating release ${VERSION}..." - curl -sf -X POST \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X POST \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \ @@ -409,7 +409,7 @@ jobs: API_URL="${GITEA_URL}/api/v1/repos/${OWNER}/${REPO}" echo "Creating tag ${VERSION}..." - curl -sf -X POST \ + curl -sf --retry 3 --retry-delay 2 --retry-connrefused -X POST \ -H "Authorization: token ${TOKEN}" \ -H "Content-Type: application/json" \ --data "$(jq -n \